了解Qt Widgets Designer

启动 Designer
安装 Qt 后,您可以像在开发主机上运行其他应用程序一样启动Qt Widgets Designer 。您也可以直接通过Qt Creator 访问Qt Widgets Designer 。Qt Creator 会自动在集成开发环境Qt Widgets Designer 中以“设计”模式打开所有 .ui 文件。
通常,集成的Qt Widgets Designer 包含与独立版Qt Widgets Designer 相同的功能。有关两者的区别,请参阅Qt Creator 手册。
如果您的表单较大,无法在Qt Creator 的设计模式中完全显示,则可以在独立版Qt Widgets Designer 中打开它们。
用户界面
作为独立应用程序使用时,Qt Widgets Designer 的用户界面可配置为提供多窗口用户界面(默认模式),或以停靠窗口模式运行。在集成开发环境(IDE)中使用时,仅支持多窗口用户界面。 您可以在“编辑”菜单中的“首选项”对话框中切换模式。
在多窗口模式下,您可以根据自己的工作习惯排列各个工具窗口。主窗口由菜单栏、工具栏以及一个小部件框组成,该小部件框中包含可用于创建用户界面的各种小部件。
| Qt Widgets Designer的主窗口 菜单栏提供了用于管理表单、使用剪贴板以及访问应用程序特定帮助的所有标准操作。当前编辑模式、工具窗口以及正在使用的表单也可以通过菜单栏进行访问。 工具栏显示了编辑表单时常用的操作。这些操作也可通过主菜单访问。 控件库提供了用于设计组件的常用控件和布局。这些控件和布局按其用途或功能分组。 |
Qt Widgets Designer 的大多数功能均可通过菜单栏、工具栏或控件库访问。部分功能还可通过表单窗口上的右键菜单访问。在大多数平台上,使用鼠标右键可打开右键菜单。
| Qt Widgets Designer's 控件盒 控件框提供了一系列标准的 Qt Widgets、布局和其他对象,可用于在表单上创建用户界面。控件框中的每个类别都包含用途相似或功能相关的控件。 点击类别标签旁边的拉手,即可显示该类别中的所有可用对象。在控件编辑模式下,您可以通过将相应的控件从控件库拖拽到表单上,并将其放置在所需位置,从而将对象添加到表单中。 Qt Widgets Designer 提供了一个“草稿板”功能,允许您将常用对象收集到一个单独的类别中。 通过将表单中当前显示的任何控件从表单拖拽到控件框中,即可将这些控件添加到“临时存储区”类别中。这些控件的使用方式与其他控件相同,但还可以包含子控件。在控件上打开上下文菜单,即可更改其名称或将其从“临时存储区”中移除。 |
Qt 中的布局概念
布局用于排列和管理构成用户界面的元素。Qt 提供了一系列类来自动处理布局——QHBoxLayout 、QVBoxLayout 、QGridLayout 和QFormLayout 。这些类解决了小部件自动布局的难题,提供了行为可预测的用户界面。 幸运的是,使用Qt Widgets Designer 排列控件时,无需了解布局类。只需从上下文菜单中选择“水平布局”、“网格布局”等选项即可。
每个 Qt Widget 都有一个推荐尺寸,即尺寸提示(sizeHint())。布局管理器会尝试调整 Widget 的大小以符合其尺寸提示。在某些情况下,无需设置不同的尺寸。例如,QLineEdit 的高度始终是一个固定值,取决于字体大小和样式。 在其他情况下,您可能需要更改尺寸,例如QLineEdit 的宽度,或者项目视图控件的宽度和高度。此时就需要用到控件尺寸约束——minimumSize 和maximumSize 约束。这些属性可在属性编辑器中进行设置。 例如,要覆盖默认的sizeHint(),只需将minimumSize 和maximumSize 设置为相同的值。或者,若要使用当前尺寸作为尺寸约束值,请从控件的上下文菜单中选择其中一个“尺寸约束”选项。 布局将确保这些约束得到满足。若要通过代码控制小部件的大小,可在代码中重写sizeHint()方法。
下图展示了使用网格设计的基本用户界面的结构分解。截图中的坐标显示了每个控件在网格中的位置。

注意:在网格内部, QPushButton 对象实际上是嵌套的。右侧的按钮首先被放置在QVBoxLayout 中;底部的按钮首先被放置在QHBoxLayout 中。最后,它们被放置在QGridLayout 的坐标(1,2)和(2,1)处。
为了直观理解,不妨将布局想象成一个尽可能缩小的盒子,它试图将控件以整齐的排列方式挤进去,同时最大限度地利用可用空间。
在以下情况下,Qt 的布局功能将为您提供帮助:
- 调整用户界面的尺寸以适应不同的窗口大小。
- 调整用户界面中各元素的大小,以适应不同的本地化需求。
- 排列元素以符合不同平台的布局规范。
因此,您无需再为针对不同平台、设置和语言重新排列控件而烦恼。
下面的示例展示了不同的本地化如何影响用户界面。当某项本地化因文本字符串较长而需要更多空间时,Qt 布局会自动调整以适应这一需求,同时确保用户界面外观美观且符合平台指南。
| 英文对话框 | 法语对话框 |
|---|---|
|
|
小部件的布局过程包括创建布局层次结构,同时尽可能少地设置小部件尺寸约束。
如需了解有关 Qt 布局类的更技术性的内容,请参阅《布局管理》文档。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.

