Qt中布局是否只有5种呢?

我们经常看到的Qt的布局有:5种(都是继承自QLayout)

QHBoxLayout
QVBoxLayout
QGridLayout
QFormLayout
QStackedLayout

但是我在官方文档有看到其他的Layout相关命名,
例如:
QPageLayout
QTextLayout
等等

请问这些是用于布局的吗?还是说Qt中布局就只有5种呢?

阅读 341
2 个回答

不止五种,主要看你的使用场景比如:

简单排列控件

  1. 水平排列:使用 QHBoxLayout

    • 场景:工具栏、按钮行
  2. 垂直排列:使用 QVBoxLayout

    • 场景:按钮组、垂直菜单

复杂布局

  1. 网格布局:使用 QGridLayout

    • 场景:表单、面板,需要精确定位的控件
  2. 表单布局:使用 QFormLayout

    • 场景:登录界面、设置界面,每行包含标签和输入框

切换视图

  1. 堆叠布局:使用 QStackedLayout

    • 场景:选项卡界面、向导界面

特殊需求

  1. 自定义盒布局:使用 QBoxLayout

    • 场景:需要自定义的水平或垂直布局
  2. 空白空间:使用 QSpacerItem

    • 场景:在控件之间添加固定或可调整的空白

图形视图

  1. 锚定布局:使用 QGraphicsAnchorLayout

    • 场景:图形视图中精确定位控件
  2. 图形网格布局:使用 QGraphicsGridLayout

    • 场景:图形视图中的复杂布局需求
  3. 图形线性布局:使用 QGraphicsLinearLayout

    • 场景:图形视图中的简单线性布局

文档和文本

  1. 分页布局:使用 QPageLayout

    • 场景:打印和分页文档的设置
  2. 文本布局:使用 QTextLayout

    • 场景:需要精确控制文本显示的应用场景
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏