理解 Qt 窗口部件中的布局过程

主要观点:作者在职业生涯中主要从事系统编程,近一年半开始从事面向用户的应用开发,选择 Qt Widgets 框架开发Cahier,并重新学习 UX 和 UI。介绍了 Qt Widgets 中的布局管理,包括手动布局和自动布局(QLayouts),手动布局通过调用move方法设置位置,自动布局通过安装布局管理器让框架自动处理位置和大小,还介绍了布局流程及各阶段的操作,最后希望能平衡 GUI 库与网页技术中布局的覆盖程度。

关键信息:

  • 职业生涯经历:从系统编程到面向用户应用开发。
  • 选择的框架:Qt Widgets 框架及 Qt Widgets 工具箱。
  • 布局管理方式:手动布局通过move方法设置位置,自动布局通过 QLayouts 让框架自动处理位置和大小。
  • 布局流程:通过事件触发,先确定大小提示和策略,再实际定位和调整大小。
  • 结论:希望平衡 GUI 库与网页技术中布局的覆盖程度。

重要细节:

  • 手动布局中,创建窗口并插入列表视图和按钮,位置通过move方法设置,无需设置初始大小,用户操作时大小和位置不变。
  • QLayouts 支持水平、垂直和网格布局,确定子控件大小和位置的方式不同,空布局的sizeHint为 22x22,有子控件时根据子控件计算。
  • 布局触发条件:显示窗口、调整大小、更改内容、用户代码请求等。
  • 布局流程中,先遍历子树确定大小提示和策略,再实际定位和调整大小,用户控制最外层窗口大小。
阅读 16
0 条评论