QWidget添加布局管理器:
ui->setupUi(this);
btn1 = new QPushButton("Button1");
btn2 = new QPushButton("Button2");
mainLayout = new QGridLayout(this);
mainLayout->addWidget(btn1, 0, 0);
mainLayout->addWidget(btn2, 0, 1);
QMainWindow添加布局管理器:
ui->setupUi(this);
btn1 = new QPushButton("Button1");
btn2 = new QPushButton("Button2");
mainLayout = new QGridLayout;
ui->centralWidget->setLayout(mainLayout);
mainLayout->addWidget(btn1, 0, 0);
mainLayout->addWidget(btn2, 0, 1);
这两者有点区别,是因为QMainWindow有多个Widget,要指定某个Widget再添加Layout。
如果创建的QMainWindow没有选择带ui界面,那么应该先添加一个widget到mainWindow,然后再在这个widget里addLayout。
代码如下:
hboxLayout = new QHBoxLayout(this);
hBtn1 = new QPushButton("Button1");
hBtn2 = new QPushButton("Button2");
hBtn3 = new QPushButton("Button3");
hboxLayout->addWidget(hBtn1);
hboxLayout->addWidget(hBtn2);
hboxLayout->addWidget(hBtn3);
hboxLayout->setSpacing(60);
widget = new QWidget();
widget->setLayout(hboxLayout);
this->setCentralWidget(widget);