Qt中的QBoxLayout
生活随笔
收集整理的這篇文章主要介紹了
Qt中的QBoxLayout
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1 Qt中的QBoxLayout
- 1.1 QBoxLayout
- 1.2 布局管理器的嵌套
1 Qt中的QBoxLayout
1.1 QBoxLayout
QBoxLayout布局管理器:
- 以水平或者垂直的方式管理界面組件。
布局管理器中的比例系數(shù):
- 默認(rèn)情況下以等比例的方式更新組件的大小。
- 可以自定義組件大小更新時(shí)的比例系數(shù)。
QBoxLayout中的比例系數(shù)設(shè)置:
注意: 組件的初始大小是獨(dú)立于布局管理器設(shè)置的,因此不能保證組件的大小始終符合比例系數(shù)的設(shè)置。
垂直布管理器示例代碼:
void Widget::testVBoxLayout() {QVBoxLayout* layout = new QVBoxLayout();TestBtn1.setText("Test Button 1");TestBtn1.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn1.setMinimumSize(160, 30);TestBtn2.setText("Test Button 2");TestBtn2.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn2.setMinimumSize(160, 30);TestBtn3.setText("Test Button 3");TestBtn3.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn3.setMinimumSize(160, 30);TestBtn4.setText("Test Button 4");TestBtn4.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn4.setMinimumSize(160, 30);layout->setSpacing(30);layout->addWidget(&TestBtn1);layout->addWidget(&TestBtn2);layout->addWidget(&TestBtn3);layout->addWidget(&TestBtn4);layout->setStretch(0, 1);layout->setStretch(1, 1);layout->setStretch(2, 2);layout->setStretch(3, 2);setLayout(layout); }水平布局管理器示例代碼:
void Widget::testHBoxLayout() {QHBoxLayout* layout = new QHBoxLayout();TestBtn1.setText("Test Button 1");TestBtn1.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn1.setMinimumSize(160, 30);TestBtn2.setText("Test Button 2");TestBtn2.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn2.setMinimumSize(160, 30);TestBtn3.setText("Test Button 3");TestBtn3.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn3.setMinimumSize(160, 30);TestBtn4.setText("Test Button 4");TestBtn4.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);TestBtn4.setMinimumSize(160, 30);layout->setSpacing(30);layout->addWidget(&TestBtn1);layout->addWidget(&TestBtn2);layout->addWidget(&TestBtn3);layout->addWidget(&TestBtn4);layout->setStretchFactor(&TestBtn1, 1);layout->setStretchFactor(&TestBtn2, 2);layout->setStretchFactor(&TestBtn3, 1);layout->setStretchFactor(&TestBtn4, 3);setLayout(layout); }1.2 布局管理器的嵌套
布局管理器可以相互嵌套,形成更加復(fù)雜的布局方式:
- 布局嵌套幾乎可以完成所有常用的界面布局。
- 自定義布局類可以達(dá)到個(gè)性化界面布局的效果。
QBoxLayout嵌套實(shí)例:
布局管理器的相互嵌套示例代碼:
思考一個(gè)問題:當(dāng)使用了布局管理器后,如何設(shè)置組件的初始化大小呢?
參考資料:
總結(jié)
以上是生活随笔為你收集整理的Qt中的QBoxLayout的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt中的布局管理器
- 下一篇: 电脑卡屏幕上的东西怎么办 电脑屏幕卡住怎