Qt之QGridLayout布局简单应用

匿名 (未验证) 提交于 2019-12-02 23:40:02

实现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);
 }

文章来源: https://blog.csdn.net/baidu_31868779/article/details/91459890
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!