`

QT布局管理 学习一(转)

    博客分类:
  • C++
 
阅读更多

在大多数情况下,Qt 的布局管理器将为管理的窗口部件选择最优尺寸,以便窗口可以顺利的重新调整大小。如果默认值不合理,那么我们可以使用以下方法优化布局:

1. 为某些子窗口部件设置最小尺寸、最大尺寸或固定尺寸

2. 添加伸缩项目(stretch)或间距项目

这些项目将填补布局中的空白区域。手写代码即是调用addStretch(),在Qt Designer中则是通过添加一个spacer窗口部件来实现。

3. 更改子窗口部件的大小策略

通过调用 QWidget::setSizePolicy(),编程人员可以采用最优的方式重新设置子窗口部件的尺寸变化行为。可以根据布局中其他子窗口部件来扩大、缩小子窗口部件,或者使其尺寸不变。

4. 更改子窗口部件的大小提示

QWidget::sizeHint() 和 QWidget::minimumSizeHint() 可以根据窗口部件的内容返回其首选尺寸和首选最小尺寸。Qt内建的窗口部件已经相应的提供了合适的实现。

5. 设置伸缩因子

伸缩因子支持子窗口部件的相对增长;例如,将 2/3 的任何多余的可用空间分配给 A 窗口部件,将 1/3 的空间分配给 B 窗口部件,这将使得两者的比例保持在2:1的比例上。

6.设置被布局管理的窗口部件之间的“间距”和整个布局周围的“空白”

默认情况下,Qt使用与上下文相关的行业标准值。

7.自定义布局管理器

当Qt内建的这些布局管理器都不能很好的满足你的需要时,就可以考虑自定义布局管理器。当然根据我的经验,这种情况是比较少见的。

8.各种布局方法综合使用

在有些情况下,可以将绝对位置法、人工布局法与布局管理器结合使用,往往会收到很好的效果。

当布局管理器在摆放这些窗口部件的时候,它就会考虑到上面讲到的这些约束条件。并且如果这些还不满足你的要求的话,就可以对子窗口部件的类进行派生并且重新实现sizeHint()函数,由此获得所需的大小提示。

分享到:
评论

相关推荐

    QT 例程 布局管理

    QT 例程 布局管理 包含多个小测试程序 学习QT的基础程序

    Qt学习资料,提供了各个章节的ppt、代码

    第1章 Qt概述 第2章 Qt 5模板库、工具 第3章 Qt 5布局管理 第4章 Qt 5基本对话框 第5章 Qt 5主窗体 第6章 Qt 5图形与图片 第7章 Qt 5图形视图框架 第8章 Qt 5模型 第9章 Qt 5文件及磁盘处理 第10章 Qt 5网络与通信 ...

    qt必备学习手册初级

    4.7 布局管理器 43 4.7.1 水平/垂直/网格布局 44 4.7.2 自定义控件 46 5 Qt消息机制和事件 50 5.1 事件 50 5.2 event() 52 5.3 事件过滤器 55 5.4 总结 59 5.5 不规则窗体 62 6 绘图和绘图设备 63 6.1 QPainter 63...

    QT经典教程_详细一步一步例子

    五、Qt Creator布局管理器的使用 六、Qt Creator实现文本编辑 七、Qt Creator实现文本查找 八、Qt Creator实现状态栏显示 九、Qt Creator中鼠标键盘事件的处理实现自定义鼠标指针 十、Qt Creator中实现定时器和产生...

    Qt学习之路14--布局管理器(QGridLayout) - 一念之间、 - CSDN博客1

    本文链接:https://blog.csdn.net/tqs_1220/article/details/81842878上一节讲过以行列布局的QBoxLayou

    QT学习 实例 地址簿 源码

    QT学习 实例 地址簿 源码 Widget 和布局管理器 容器类 信号和槽 输入和输出设备

    QT5开发学习资料和实战项目.rar

    3:Qt5布局管理 4:Qt5基本对话框 5:Qt5主窗体 6:Qt5图形与图画 7:Qt5图形视图框架 8:Qt5模型/视图结构 9:Qt5文件及磁盘处理 10:Qt5网络与通信 11:Qt5事件处理 12:Qt5多线程 13:Qt5数据库 14:Qt5多国语言...

    Qt实现简单计算器(整数)

    该方法用qt来实现一个简单的计算器,内容包括界面的创建和计算的具体c++代码,设计qt独特的信号与槽机制,适合于新学习者来巩固qt的布局和信号与槽机制的练习

    Qt学习之路2 (基于Qt5.0.1共58章)

    11. 布局管理器 12. 菜单栏、工具栏和状态栏 13. 对话框简介 14. 对话框数据传递 15. 标准对话框 QMessageBox 16. 深入 Qt5 信号槽新语法 17. 文件对话框 18. 事件 19. 事件的接受与忽略 20. event() 21. 事件过滤器...

    Qt初学者学习文档,讲述了基础用法和常用控件

    文档涵盖了如何使用Qt开发应用程序的基础知识,包括创建窗口、布局管理、事件处理、信号与槽机制等核心概念。此外,文档还介绍了Qt中常用的控件,例如按钮、标签、文本框、列表框等,并解释了它们的用法和属性设置。...

    QT学习之路2 (1~82篇)

    11. 布局管理器 12. 菜单栏、工具栏和状态栏 13. 对话框简介 14. 对话框数据传递 15. 标准对话框 QMessageBox 16. 深入 Qt5 信号槽新语法 17. 文件对话框 18. 事件 19. 事件的接受与忽略 20. event() 21. 事件过滤器...

    《Qt 学习之路 2》

    11 布局管理器 12 菜单栏、工具栏和状态栏 13 对话框简介 14 对话框数据传递 15 标准对话框 QMessageBox 16 深入 Qt5 信号槽新语法 17 文件对话框 18 事件 19 事件的接受与忽略 20 event() 21 事件过滤器 ...

    精通qt4编程(源代码)

    \1.2 使用Qt布局管理器 11 \1.3 关联操作 12 \1.4 小结 13 \第2章 对话框——QDialog 14 \2.1 自定义对话框 14 \2.1.1 建立新类 14 \2.1.2 添加子窗口部件 15 \2.2 加入主程序 22 \2.3 Qt内建(built-in)对话框 24 ...

    精通Qt4编程(第二版)源代码

    \1.2 使用Qt布局管理器 11 \1.3 关联操作 12 \1.4 小结 13 \第2章 对话框——QDialog 14 \2.1 自定义对话框 14 \2.1.1 建立新类 14 \2.1.2 添加子窗口部件 15 \2.2 加入主程序 22 \2.3 Qt内建(built-in)...

    福优林@Qt5小白变大牛初级篇word---第8章.pdf

    第7章讲述了一些窗口部件,当时往界面上拖放部件时都是随意放置的,这对于学习部件的使用没有太大的影响,但是,对于一个完善的软件,布局管理却是必不可少的。 无论是想要界面中部件有一个很整齐的排列,还是想要...

    Qt开发的教程.doc

    Qt的布局系统允许你轻松地管理窗口中的控件位置。理解布局系统将帮助你创建具有整洁和一致外观的GUI应用程序。 **步骤5:使用信号和槽** 信号和槽是Qt中用于处理事件和交互的主要机制。学习如何使用信号和槽来连接...

    24小时学通qt编程

    第三部分——深入学习Qt,介绍布局管理器、文件和目录、文本和常规表达式、容器类、图形、程序间通信等内容。第四部分——Qt编程技巧,介绍怎样编写KDE应用程序、使用OpenGL类绘图和创建Netscape插件等。第五部分...

    实现动态创建多个Tab页,页中动态创建多个子部件

    本资源为C++,Qt。 使用Qt creator打开项目。 Qt 版本5.5.1。 实现了动态创建Tab按钮,和...Page中有一个listWidget,用来管理Item的创建和布局。 对于想学习动态布局,动态创建stackedWidget的page页的同学非常有帮助。

    Qt4编程.pdf

    目录 第1章走近Qt 1.1Qt简介 1.2Qt纪事概览 1.3Qt套件的组成 1.4Qt的授权 1.5Qt的产品 1.6Qt的服务与支持 1.7Qt的最新进展 ...第11章布局管理 第12章使用QtCreator 第13章Qt核心机制与原理 参考文献 后记

    零基础学QT4编程 ( 免费下载!!!)

    很好的学习qt的资料,适合新手入门,网上很难找到的,现在无偿奉献给大家,共同学习qt,共同进步。文章分13个章节: 第 1 章 走近 Qt ...第 11 章 布局管理 第 12 章 使用 Qt Creator 第 13 章 Qt 核心机制与原理

Global site tag (gtag.js) - Google Analytics