Qt之QGridLayout布局简单应用
实现A、B、C布局;
结构如图:
关键代码如下:
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent)
{
this->setGeometry(QRect(0,0,1000,800));
QGridLayout *gridLayout = new QGridLayout;
QWidget *widget1 = new QWidget();
QPushButton *A = new QPushButton("A",widget1);
A->setGeometry(QRect(100,100,100,60));
QWidget *widget2 = new QWidget();
QPushButton *B = new QPushButton("B",widget2);
B->setGeometry(QRect(100,100,100,60));
QWidget *widget3 = new QWidget();
QPushButton *C = new QPushButton("C",widget3);
C->setGeometry(QRect(0,10,100,30));
widget1->setMaximumWidth(300);
widget1->setMinimumWidth(300);
widget3->setMaximumHeight(40);
widget3->setMaximumHeight(40);
gridLayout->setMargin(0);
int vW = width()/300;
int vh = height()/60;
qDebug() << vW << vh;
gridLayout->addWidget(widget1, 0,0,5,1);
gridLayout->addWidget(widget2, 0,1,5-1,5-1);
gridLayout->addWidget(widget3, 5-1,1,1,5-1);
gridLayout->setSpacing(1);
QStringList qss;
qss.append("QWidget{border:1px solid #000000;background:#DC2520}");
this->setStyleSheet(qss.join(""));
setLayout(gridLayout);
}