SuperAPI AI 工具集

qt-layouts

通用与其它

查看项目

更新于 10-16 06:22

技能介绍

用途:该技能面向 Qt 界面开发,帮助在容器中排列控件并控制其缩放行为,适用于放置控件、控制调整大小行为、构建表单布局等场景。资料强调不要手动调用 setGeometry(),而应使用布局对象。

主要能力:介绍核心布局类型及用途——QVBoxLayout 垂直堆叠、QHBoxLayout 水平堆叠、QGridLayout 行列网格、QFormLayout 标签与字段成对、QStackedLayout 多页仅一页可见;并涉及 QSplitter 分割器。

使用方式:将父控件传给布局构造函数(如 QVBoxLayout(self))即可自动挂载布局,比单独调用 setLayout 更简洁。可用 setContentsMargins 与 setSpacing 设置边距和间距;用 addWidget 的 stretch 参数分配多余空间;用 setSizePolicy 控制单个控件缩放,常见策略有 Fixed、Minimum、Maximum、Preferred、Expanding、MinimumExpanding;用 addStretch、addSpacing、QSpacerItem 添加间隔。QGridLayout 支持 addWidget 的行列与 rowspan/colspan,以及 setColumnStretch。QFormLayout 用 addRow 自动处理标签对齐。QSplitter 可用 setSizes 设初始像素宽度、setStretchFactor 控制拉伸,并通过 saveState/restoreState 持久化状态。居中控件可用 addStretch 配合 AlignHCenter。

限制与调试:资料给出常见问题排查,如控件零尺寸需设 minimumSize 或重写 sizeHint、确认布局已挂载、确认 show() 已调用、检查 isHidden/isVisible、避免 setFixedSize(0,0) 或零边距;布局忽略尺寸变化时可调用 invalidate() 并检查 size policy 是否为 Fixed。默认内容边距约 9px(随样式而异),可重置为 0。

资料未提供该技能的安装命令、收费方式与平台支持信息。