调用show函数却不能显示布局,就像图片上显示一样?为什么

#include <QtGui/QApplication>
#include <QMainWindow>
#include <QPushButton>
#include <QHBoxLayout>
#include <QWidget>
#include <QCloseEvent>

class A:public QMainWindow
{
public:
A();
void closeEvent(QCloseEvent *);
private:
QMainWindow *mainwidow;
QWidget *widget;
QPushButton *button;
QHBoxLayout *layout;
};
A::A()
{
mainwidow=new QMainWindow;
widget=new QWidget;
button=new QPushButton;
layout=new QHBoxLayout;
layout->addWidget(button);
widget->setLayout(layout);
mainwidow->setCentralWidget(widget);
}

void A::closeEvent(QCloseEvent *event)
{
event->ignore();
}

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
A wm;
wm.show();
return a.exec();
}



江户川乱折腾
浏览 181回答 2
2回答

蓝山帝景

A::A(){&nbsp;&nbsp;&nbsp;&nbsp;//mainwidow=new&nbsp;QMainWindow;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;本身继承了QMainWindow,没必要再new&nbsp;&nbsp;&nbsp;&nbsp;widget=new&nbsp;QWidget;&nbsp;&nbsp;&nbsp;&nbsp;button=new&nbsp;QPushButton;&nbsp;&nbsp;&nbsp;&nbsp;layout=new&nbsp;QHBoxLayout;&nbsp;&nbsp;&nbsp;&nbsp;layout->addWidget(button);&nbsp;&nbsp;&nbsp;&nbsp;widget->setLayout(layout);&nbsp;&nbsp;&nbsp;&nbsp;//mainwidow->setCentralWidget(widget);&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;把这句改为下面的语句&nbsp;&nbsp;&nbsp;&nbsp;this->setCentralWidget(widget);}运行结果如下:(P.S.不知道是你想要的结果吗?)

慕神8447489

你是想要画图形么?如果是的话,建议使用QT designer,搭建在VS2010下使用,可以直接画出你想要的图形,在将信号与槽连接就可以了!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android