Qt Designer 容器(Container)部件的用法

原文地址:https://doc.qt.io/qt-6/designer-using-containers.html

容器部件(container widget)在窗体中提供更高级的对象分组控制。它们可以作为多种用途使用,诸如管理输入部件(input widgets)、提供分页和选项卡布局、又或者仅仅作为其它对象的装饰性容器等等。

在这里插入图片描述

Qt Designer 提供良好的视觉反馈以便于我们将对象置于容器中。当对象从部件盒被拖入窗体且经过容器部件时,该容器将高亮显示,以示允许拖入部件作为其子部件。当我们需要将部件方放在容器旁边而不需要置于其中时,这种反馈尤为重要。另外,部件(widget)及间隔符(spacer)均可在容器中使用。

在Qt Designer中层叠部件(Stacked Widget)、选项卡部件(Tab Widget)及工具组(Tool Box)都进行了特别设计处理。传统模式下,在代码中的容器里扩增版面(tab标签、版面、间隔等),需要支持现有部件、间隔符以及包含的子部件。而在Qt Designer中,这些都是自动创建的,直接在版面中增加子部件即可。

每个容器均支持其子部件以一种或多种布局方式排版。虽然设置布局只是动动手指这么简单,然而使用何种布局依然取决于不同的容器。下面来捋一捋不同的容器。

Frame 框架容器

Frame既用于对部件进行封装和分组,又作为装饰使用。这些都是布局复杂容器的基础,有时Frame还作为窗体的占位符(placeholders )使用。

Frame最重要的属性有 frameShape, frameShadow, lineWidth, and midLineWidth,详见[QFrame](https://doc.qt.io/qt-6/qframe.html) 中的描述说明。

Group Box 组框

组框的主要应用场景就是将复选框和单选按钮等作为一个集合有机的进行分组。

组框的主要属性包括title, flat, checkable,以及checked等,详见 QGroupBox 类的官方文档。每个组框都有自己的布局,尤其当其包含部件时,布局是必需有的。同日常的布局操作一样,对组框的布局操作也没有什么特别的,只需要在其内部右键操作布局即可。

Stacked Widget 层叠部件

层叠部件作为部件的集合,默认只有顶层可见。对层级部件的可见性通常由另外的部件(比如下拉列表框)结合信号和槽来实现控制。

Qt Designer 中部件的右上角显示切换的左右箭头在这里插入图片描述 以方便设计过程中切换查看层级部件。在预览和最终成品中,这些箭头不会出现。设计过程中,若要在层级页面中实现切换导航(上一页、下一页)、改变页顺序和插入版面(插入页)等操作,请选中部件后右键选择对应操作(如下图)。

在这里插入图片描述

Tab Widget 标签部件

标签部件是最常见的窗体布局之一,其允许开发者对众多部件进行分割布局展示,只显示选中Tab标签下的内容。默认情况下,拖入的标签部件有2个选项卡,可以根据开发需求对其删除或重命名,当然也可以增加选项卡。

新增选项卡

选中标签部件,在其任意位置右键单击,选择菜单插入页-在当前页之后插入页-在当前页之前进行相应操作。

在这里插入图片描述

修改选项卡标题

选中预修改的选项卡,在属性编辑器中编辑currentTabText的值即可。

在这里插入图片描述

删除选项卡

单击选中预删除的选项卡,右键菜单选择页A/N-删除即可删除当前选中的选项卡及内容。

在这里插入图片描述

Tool Box 工具箱

在这里插入图片描述

工具部件提供一个多页面多间隔的工具箱。一个工具箱容纳多个工具条,一个工具条容纳多个工具按钮。工具箱部件的操作方式与层叠部件极其相似,相关操作请参考其中说明。

Dock Widget 停靠窗口

在这里插入图片描述

停靠窗口是一个浮动面板,经常会放置一些输入部件以及一些复杂的控制组件,通常会附着在主窗体边缘或者作为独立的工具窗口浮动显示。

理论上停靠窗口中可以添加到任何类型的窗体中,但通常情况下它常与 main window模板创建的主窗口搭配使用。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐