Qt4 布局管理经验总结
2015-10-25 10:10
274 查看
好了,到了现在,是时候为布局管理这个话题做一下总结了。
在大多数情况下,Qt 的布局管理器将为管理的窗口部件选择最优尺寸,以便窗口可以顺利的重新调整大小。如果默认值不合理,那么我们可以使用以下方法优化布局:
1. 为某些子窗口部件设置最小尺寸、最大尺寸或固定尺寸
2. 添加伸缩项目(stretch)或间距项目
这些项目将填补布局中的空白区域。手写代码即是调用addStretch(),在Qt Designer中则是通过添加一个spacer窗口部件来实现。
3. 更改子窗口部件的大小策略
通过调用 QWidget::setSizePolicy(),编程人员可以采用最优的方式重新设置子窗口部件的尺寸变化行为。可以根据布局中其他子窗口部件来扩大、缩小子窗口部件,或者使其尺寸不变。
4. 更改子窗口部件的大小提示
QWidget::sizeHint() 和 QWidget::minimum- SizeHint() 可以根据窗口部件的内容返回其首选尺寸和首选最小尺寸。Qt内建的窗口部件已经相应的提供了合适的实现。
5. 设置伸缩因子
伸缩因子支持子窗口部件的相对增长;例如,将 2/3 的任何多余的可用空间分配给 A 窗口部件,将 1/3 的空间分配给 B 窗口部件,这将使得两者的比例保持在2:1的比例上。
6.设置被布局管理的窗口部件之间的“间距”和整个布局周围的“空白”
默认情况下,Qt使用与上下文相关的行业标准值。
7.自定义布局管理器
当Qt内建的这些布局管理器都不能很好的满足你的需要时,就可以考虑自定义布局管理器。当然根据我的经验,这种情况是比较少见的。
8.各种布局方法综合使用
在有些情况下,可以将绝对位置法、人工布局法与布局管理器结合使用,往往会收到很好的效果。
当布局管理器在摆放这些窗口部件的时候,它就会考虑到上面讲到的这些约束条件。并且如果这些还不满足你的要求的话,就可以对子窗口部件的类进行派生并且重新实现sizeHint()函数,由此获得所需的大小提示。
在大多数情况下,Qt 的布局管理器将为管理的窗口部件选择最优尺寸,以便窗口可以顺利的重新调整大小。如果默认值不合理,那么我们可以使用以下方法优化布局:
1. 为某些子窗口部件设置最小尺寸、最大尺寸或固定尺寸
2. 添加伸缩项目(stretch)或间距项目
这些项目将填补布局中的空白区域。手写代码即是调用addStretch(),在Qt Designer中则是通过添加一个spacer窗口部件来实现。
3. 更改子窗口部件的大小策略
通过调用 QWidget::setSizePolicy(),编程人员可以采用最优的方式重新设置子窗口部件的尺寸变化行为。可以根据布局中其他子窗口部件来扩大、缩小子窗口部件,或者使其尺寸不变。
4. 更改子窗口部件的大小提示
QWidget::sizeHint() 和 QWidget::minimum- SizeHint() 可以根据窗口部件的内容返回其首选尺寸和首选最小尺寸。Qt内建的窗口部件已经相应的提供了合适的实现。
5. 设置伸缩因子
伸缩因子支持子窗口部件的相对增长;例如,将 2/3 的任何多余的可用空间分配给 A 窗口部件,将 1/3 的空间分配给 B 窗口部件,这将使得两者的比例保持在2:1的比例上。
6.设置被布局管理的窗口部件之间的“间距”和整个布局周围的“空白”
默认情况下,Qt使用与上下文相关的行业标准值。
7.自定义布局管理器
当Qt内建的这些布局管理器都不能很好的满足你的需要时,就可以考虑自定义布局管理器。当然根据我的经验,这种情况是比较少见的。
8.各种布局方法综合使用
在有些情况下,可以将绝对位置法、人工布局法与布局管理器结合使用,往往会收到很好的效果。
当布局管理器在摆放这些窗口部件的时候,它就会考虑到上面讲到的这些约束条件。并且如果这些还不满足你的要求的话,就可以对子窗口部件的类进行派生并且重新实现sizeHint()函数,由此获得所需的大小提示。
相关文章推荐
- 【转】如何在Qt 4程序中优化布局结构-兼回答网友提问
- QT正规远程刷单公会QT1241房间32部诚信推荐滚屏刷单公会
- QT笔记(转)
- Qt4.8 使用SLOT/SIGNAL函数传递变量进Dialog #Qt
- qt中的拖拽及其使用技巧
- qt4 phonon 后端插件
- SBC37x交叉编译平台QT+OPENCV【2】虚拟机Vbox下Ubuntu的磁盘扩容
- 学习Qt5(8)
- Qt之设置窗口背景
- 使用Qt开发中国象棋(四):步时控制
- MQTT学习笔记——Yeelink MQTT维修 采用mqtt.js和paho-mqtt
- QT model/view 详细资料 总结
- 老李分享:QTP的录制原理以及实现
- QT学习交流群
- Qt中QTabWidget常用
- Qt输抓取网页输出文本到txt代码
- Ubuntu下安装Qt4并创建简单窗口
- 控制QT中MainWindow上Menu和ToolBar的上下文菜单Action列表
- qt5.4.1的imx6编译
- PyQt4 py2exe 打包 HardwareManager