QSpacerItem在布局中的用法示例
来源:互联网 发布:python自动化性能测试 编辑:程序博客网 时间:2024/06/15 10:24
需要实现的部件显示效果如下:
构建方法如上右图,实现代码:
#include <QApplication>#include <QWidget>#include <QPushButton>#include <QBoxLayout>int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget w; QPushButton btn1("btn1", &w); QPushButton btn2("btn2", &w); QPushButton btn3("btn3", &w); QPushButton btn4("btn4", &w); QPushButton btn5("btn5", &w); btn1.setFixedSize(60, 60); //大 btn2.setFixedSize(40, 40); //小 btn3.setFixedSize(40, 40); btn4.setFixedSize(40, 40); btn5.setFixedSize(40, 40); /* 首先把vLayout1 : vSpacer1 btn1看成纵一组 再把vLayout2 : vSpacer2 hLayout1(btn2btn3btn4btn5) vSpacer3看成纵一组(先把btn2btn3btn4btn5看成一横组) 最后把hLayout : vLayout1 vLayout2 hSpacer1看成横一组 */ QHBoxLayout* hLayout = new QHBoxLayout(); QVBoxLayout* vLayout1 = new QVBoxLayout(); QHBoxLayout* hLayout1 = new QHBoxLayout(); QVBoxLayout* vLayout2 = new QVBoxLayout(); QSpacerItem* vSpacer1 = new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding); QSpacerItem* vSpacer2 = new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding); QSpacerItem* vSpacer3 = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); QSpacerItem* hSpacer1 = new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); //vLayout1 : vSpacer1 btn1 vLayout1->addSpacerItem(vSpacer1); vLayout1->addWidget(&btn1); //hLayout1 : btn2btn3btn4btn5 hLayout1->addWidget(&btn2); hLayout1->addWidget(&btn3); hLayout1->addWidget(&btn4); hLayout1->addWidget(&btn5); //vLayout2 : vSpacer2 hLayout1(btn2btn3btn4btn5) vSpacer3 vLayout2->addSpacerItem(vSpacer2); vLayout2->addLayout(hLayout1); vLayout2->addSpacerItem(vSpacer3); //hLayout : vLayout1 vLayout2 hSpacer1 hLayout->setSpacing(3); hLayout->addLayout(vLayout1); hLayout->addLayout(vLayout2); hLayout->addSpacerItem(hSpacer1); hLayout->setContentsMargins(0, 0, 0, 0); w.setLayout(hLayout); //w.setLayoutDirection(Qt::RightToLeft); w.show(); return a.exec();}
0 0
- QSpacerItem在布局中的用法示例
- 虚拟键盘——gridLayout布局添加QSpacerItem的用法
- Extjs 中的布局示例
- Android 自定义View及其在布局文件中的使用示例
- Android 自定义View及其在布局文件中的使用示例
- Android 自定义View及其在布局文件中的使用示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- ioctl&fcntl 在socket中的一些用法及示例
- ioctl在socket中的一些用法和示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- ioctl在socket中的一些用法及示例
- 黑马程序员——OC---OC特有语法01
- php上传文件遇到的问题
- 第四章 vector实现
- Android OneAPM试用
- Android开发之ListView排序
- QSpacerItem在布局中的用法示例
- OneAPM 试用
- 在Xcode6+中使用xib代替storyBoard的操作步骤
- HDU4472 Count
- 分享下今天研究的流量上限DDos攻击分析和解决方案
- 程序员常去的14个顶级开发社区
- 笔记1_看张鹏老师html+css视频所得
- 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
- 图结构练习——判断给定图是否存在合法拓扑序列