在Qt5.3.1中如何用addwidget对控件进行布局?
教程中Qt版本为5.0.1,代码如下:QGridLayout*mainLayout=newQGridLayout(this);mainLayout->addWidget(...
教程中Qt 版本为5.0.1,代码如下:
QGridLayout *mainLayout = new QGridLayout(this); mainLayout->addWidget(label1,0,0); mainLayout->addWidget(lineEdit,0,1); mainLayout->addWidget(label2,1,0); mainLayout->addWidget(button,1,1);我i使用的版本为5.3.1,同样的代码,显示结果如图:
本意是将控件布置成两行两列,却出现上面的结果。我该如何作出修改? 展开
QGridLayout *mainLayout = new QGridLayout(this); mainLayout->addWidget(label1,0,0); mainLayout->addWidget(lineEdit,0,1); mainLayout->addWidget(label2,1,0); mainLayout->addWidget(button,1,1);我i使用的版本为5.3.1,同样的代码,显示结果如图:
本意是将控件布置成两行两列,却出现上面的结果。我该如何作出修改? 展开
4个回答
展开全部
完全没问题啊,我的Qt也是5.3.1,下面代码是在QDialog的构造函数中的,后面的和你的代码完全一样:
QLabel *label1 = new QLabel;
label1->setText("label1");
QLineEdit *lineEdit = new QLineEdit;
QLabel *label2 = new QLabel;
label2->setText("label2");
QPushButton *button = new QPushButton;
button->setText("button");
QGridLayout *mainLayout = new QGridLayout(this);
mainLayout->addWidget(label1,0,0);
mainLayout->addWidget(lineEdit,0,1);
mainLayout->addWidget(label2,1,0);
mainLayout->addWidget(button,1,1);
这是运行截图:
展开全部
在他的第14行插入以下三句代码
QWidget *centralWidget = new QWidget();
centralWidget->setLayout(mainLayout);
setCentralWidget(centralWidget);
QWidget *centralWidget = new QWidget();
centralWidget->setLayout(mainLayout);
setCentralWidget(centralWidget);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的基类是QMainWindow,所以不行。你把基类换成QWidget就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你最后怎么改的啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询