在Qt Widgets Designer

容器控件可对表单上的对象组进行高级控制。它们可用于执行多种功能,例如管理输入控件、提供分页和标签页布局,或者仅作为其他对象的装饰性容器。

显示某个按钮“转换为”选项的屏幕截图。其中显示了转换为 QCheckbox、QRadioButton、QToolButton 和 QCommandLinkButton 的选项。

Qt Widgets Designer 提供可视化反馈,以帮助您将对象放置在容器内。当您从控件框(或其他位置)将对象拖拽到表单上时,光标悬停在每个容器上方时,该容器都会被高亮显示。 这表明您可以将对象拖放至其中,使其成为该容器的子对象。这种反馈非常重要,因为用户很容易将对象放置在容器附近,却并未真正将其放入容器内。容器内部既可以使用控件,也可以使用间隔符。

在Qt Widgets Designer 中,堆叠控件、选项卡控件和工具箱的处理方式有所不同。通常,当您在自定义代码中向这些容器添加页面(选项卡、页面、隔间)时,需要提供现有的控件,无论是作为占位符还是包含子控件。 在Qt Widgets Designer 中,这些对象会自动为您创建,因此您可以立即向每个页面添加子对象。

每个容器通常允许将其子对象排列在一个或多个布局中。提供的布局管理类型取决于各个容器,尽管设置布局通常只需通过单击来选择容器,然后应用布局即可。下表列出了可用的容器。

显示已选中帧的屏幕截图框架

框架用于包围和分组控件,同时也起到装饰作用。它们是构建更复杂容器的基础,但也可以在表单中用作占位符。

框架最重要的属性包括frameShape 、frameShadow 、lineWidth 和midLineWidth 。这些属性在QFrame 类的描述中进行了更详细的说明。

显示了一个包含多个控件且已被选中的组框的屏幕截图组框

组框通常用于将用途相似的复选框和单选按钮集合起来。

组框的重要属性包括title 、flat 、checkable 和checked ,具体说明请参见QGroupBox 类文档。每个组框都可以包含自己的布局,如果其中包含其他控件,则必须设置布局。要向组框添加布局,请单击组框内部,然后按常规方式应用布局。

截图显示了一个包含多个小控件的组框,这些小控件彼此堆叠堆叠小部件

堆叠控件是一组控件的集合,其中仅最顶层可见。对可见层的控制通常由另一个控件(例如下拉列表框)通过信号和槽来管理。

Qt Widgets Designer 在堆栈的右上角显示箭头,以便您在设计时查看堆栈中的所有控件。这些箭头在预览或最终组件中不会显示。要在堆栈中的页面之间导航,请选中堆叠控件,并使用上下文菜单中的“下一页”和“上一页”选项。 上下文菜单中的“插入页面”和“删除页面”选项可用于添加和删除页面。

显示容器中一个选项卡控件的屏幕截图标签控件

标签页控件允许开发者将控件的内容划分为不同的标有标签的区域,任何时候只会显示其中一个区域。默认情况下,标签页控件包含两个标签页,您可以根据需要删除或重命名这些标签页。您还可以添加更多的标签页。

要删除一个标签页:

  • 点击其标签,使其成为当前选中的标签页。
  • 选中标签页控件并打开其上下文菜单。
  • 选择“删除页面”。

要添加新标签页:

  • 选中标签页控件并打开其右键菜单。
  • 选择“插入页面”。
  • 您可以将页面插入到当前页面的前面或后面。Qt Widgets Designer 会为该特定标签页创建一个新的控件,并将其插入到标签页控件中。
  • 您可以在“属性编辑器”中修改currentTabText 属性,以此设置当前标签页的标题。
显示容器内工具箱的屏幕截图工具箱控件

工具箱小部件在工具箱中提供了一系列页面或隔间。其处理方式与堆叠小部件类似。

要重命名工具箱中的某个页面,请将该工具箱设为当前页面,然后在“属性编辑器”中修改其currentItemText 属性。

要添加新页面,请从工具箱控件的上下文菜单中选择“插入页面”。您可以将该页面添加到当前页面的前面或后面。

要删除页面,请从工具箱小部件的上下文菜单中选择“删除页面”。

显示容器中一个Dock小部件的屏幕截图停靠控件

停靠控件是浮动面板,通常包含输入控件和更复杂的控件,它们可以停靠在主窗口边缘的“停靠区域”中,也可以作为独立的工具窗口浮动显示。

尽管停靠控件可以添加到任何类型的表单中,但它们通常用于基于主窗口模板创建的表单。

© 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.