目录
一、QLayout界面相关
1、布局介绍
二、代码展示
1、QBoxLayout的相关使用
2、QGridLayout的使用
以下为作者原创,创作不易,转载请标明出处!
关于QLayout,之前有介绍过界面拖动版布局效果,这次使用的是代码布局器效果。QLayout布局主要分为以下几类:QBoxLayout(QHBoxLayout、QVBoxLayout)、QGridLayout、QStackedLayout,QFormLayout一般使用较多的是前两种。
上代码展示:
QPushButton *btn1 = new QPushButton("1");QPushButton *btn2 = new QPushButton("2");QPushButton *btn3 = new QPushButton("3");QPushButton *btn4 = new QPushButton("4");QPushButton *btn5 = new QPushButton("5");QPushButton *btn6 = new QPushButton("6");QPushButton *btn7 = new QPushButton("7");//盒子布局,方向是从右往左进行效果QBoxLayout *m_BoxLayout = new QBoxLayout(QBoxLayout::RightToLeft);QVBoxLayout *m_VboxLayout = new QVBoxLayout(this);m_VboxLayout->addWidget(btn5);m_VboxLayout->addWidget(btn6);m_VboxLayout->addWidget(btn7);m_BoxLayout->addWidget(btn1);m_BoxLayout->addWidget(btn2);m_BoxLayout->addWidget(btn3);m_BoxLayout->addWidget(btn4);m_BoxLayout->addLayout(m_VboxLayout);//布局完之后,也是可以修改的,修改为从左往右//m_BoxLayout->setDirection(QBoxLayout::LeftToRight);QWidget *m_widget = new QWidget();m_widget->resize(200,150);m_widget->setLayout(m_BoxLayout);this->setCentralWidget(m_widget);
注意布局完之后也可以修改,修改为从左往右
上代码展示:
//QGridLayoutQPushButton *btn1 = new QPushButton("1");QPushButton *btn2 = new QPushButton("2");QPushButton *btn3 = new QPushButton("3");QPushButton *btn4 = new QPushButton("4");//等比例设置QGridLayout *glayout = new QGridLayout();glayout->addWidget(btn1,0,0,1,1);glayout->addWidget(btn2,0,1,1,1);glayout->addWidget(btn3,1,0,1,1);glayout->addWidget(btn4,1,1,1,1);//设置占比
// glayout->setColumnStretch(0,3);
// glayout->setColumnStretch(1,2);QWidget *m_widget = new QWidget();m_widget->setLayout(glayout);this->setCentralWidget(m_widget);
以上是1:1:1:1展示
将设置占比放开之后效果如下:
推荐博客:精灵球Plus介绍_清风徐来Groot的博客-CSDN博客
百度云盘:链接:https://pan.baidu.com/s/11b634VvKMIsGdahyBLpZ3Q 提取码:6666
好了,以上关于QT入门控件介绍到此为止了,后期如果有需要看看要不要再来出个高级篇的