内容未添加\显示在 QWidget 中
Content not getting added \ showing in a QWidget
我正在尝试向 QWidget
添加内容,但没有显示任何内容。 window 结果是空白的,没有我要包含的任何内容。
mainwindow.cpp
#include "mainwindow.h"
#include <QApplication>
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent, Qt::FramelessWindowHint | Qt::WindowSystemMenuHint)
{
mainWin = new QWidget();
// Create the button, make "this" the parent
m_button = new QPushButton("My Button", this);
// set size and location of the button
m_button->setGeometry(QRect(QPoint(100, 100), QSize(200, 50)));
hlayout = new QHBoxLayout;
hlayout -> addWidget(m_button);
mainWin -> setLayout(hlayout);
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QHBoxLayout>
class MainWindow : public QWidget
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
private:
QPushButton *m_button;
QHBoxLayout *hlayout;
};
#endif
main.cpp
#include "mainwindow.h"
#include <QtPlugin>
#include <QApplication>
#include <QDesktopWidget>
Q_IMPORT_PLUGIN(BasicToolsPlugin)
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow window;
QDesktopWidget dw;
int x=dw.width()*0.7;
int y=dw.height()*0.7;
window.setFixedSize(x, y);
window.show();
return app.exec();
}
我遗漏了什么或做错了什么?
提前谢谢大家。
您的代码不完整。我不得不做一些修复(包括,声明)来编译它。
无论如何,要开始看到一些东西,您必须替换:
mainWin = new QWidget();
和
mainWin = new QWidget(this);
或替换:
mainWin -> setLayout(hlayout);
和
this -> setLayout(hlayout);
在后一种情况下调用没有意义:
m_button->setGeometry(QRect(QPoint(100, 100), QSize(200, 50)));
因为 m_button
的位置和大小由布局自动处理。
我正在尝试向 QWidget
添加内容,但没有显示任何内容。 window 结果是空白的,没有我要包含的任何内容。
mainwindow.cpp
#include "mainwindow.h"
#include <QApplication>
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent, Qt::FramelessWindowHint | Qt::WindowSystemMenuHint)
{
mainWin = new QWidget();
// Create the button, make "this" the parent
m_button = new QPushButton("My Button", this);
// set size and location of the button
m_button->setGeometry(QRect(QPoint(100, 100), QSize(200, 50)));
hlayout = new QHBoxLayout;
hlayout -> addWidget(m_button);
mainWin -> setLayout(hlayout);
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QHBoxLayout>
class MainWindow : public QWidget
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
private:
QPushButton *m_button;
QHBoxLayout *hlayout;
};
#endif
main.cpp
#include "mainwindow.h"
#include <QtPlugin>
#include <QApplication>
#include <QDesktopWidget>
Q_IMPORT_PLUGIN(BasicToolsPlugin)
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow window;
QDesktopWidget dw;
int x=dw.width()*0.7;
int y=dw.height()*0.7;
window.setFixedSize(x, y);
window.show();
return app.exec();
}
我遗漏了什么或做错了什么?
提前谢谢大家。
您的代码不完整。我不得不做一些修复(包括,声明)来编译它。
无论如何,要开始看到一些东西,您必须替换:
mainWin = new QWidget();
和
mainWin = new QWidget(this);
或替换:
mainWin -> setLayout(hlayout);
和
this -> setLayout(hlayout);
在后一种情况下调用没有意义:
m_button->setGeometry(QRect(QPoint(100, 100), QSize(200, 50)));
因为 m_button
的位置和大小由布局自动处理。