创建主窗口Qt Widgets Designer

Qt Widgets Designer 可用于创建不同用途的用户界面,并为每种用户界面提供不同类型的窗体模板。主窗口模板用于创建带有菜单栏、工具栏和停靠窗口小部件的应用程序窗口。

打开 "文件"菜单,选择 "新建表单..."选项,或按Ctrl+N 键,创建一个新的主窗口。然后选择主窗口模板。该模板默认提供一个包含菜单栏和工具栏的主应用程序窗口,如果不需要,可以将其移除。

如果删除了菜单栏,可以通过右键单击主窗口窗体,从上下文菜单中选择创建菜单栏选项,创建一个新的菜单栏。

一个应用程序只能有一个菜单栏,但可以有多个工具栏。

菜单可通过修改 "此处键入"占位符添加到菜单栏中。其中一个占位符始终用于编辑目的,不会显示在预览或完成窗口中。

创建菜单后,可以使用 "属性编辑器"访问菜单属性,也可以通过 "对象检查器"访问每个菜单。

在菜单栏的标签上打开上下文菜单,然后选择删除菜单"menu_name",即可删除现有菜单。


创建菜单

双击占位项开始编辑。使用行编辑器显示的菜单文本可以修改。

插入新菜单所需的文本。插入一个括弧字符 (&) 会使其后面的字母用作菜单的助记符。

ReturnEnter 键接受新文本,或按Escape键拒绝。如果需要,您可以在以后撤销编辑操作。

菜单也可以在菜单栏中重新排列,只需将它们拖放到喜欢的位置即可。垂直红线表示将插入菜单的位置。

菜单可以包含任意数量的条目和分隔符,并可以嵌套到所需的深度。在菜单中添加新条目可以通过常规方式浏览菜单结构来实现。


创建菜单条目

双击 "此处键入 "占位符开始编辑,或双击 "添加分隔线"菜单最后一个条目后插入新的分隔线。

菜单项的文本将使用行编辑显示,并可进行修改。

为新条目插入所需的文本,可选择使用"&"字符标记字母作为条目的助记符。

ReturnEnter 键接受新文本,或按Escape键拒绝。为该菜单条目创建的操作可通过操作编辑器访问,相关的键盘快捷键也可在此设置。

与菜单一样,条目也可以通过拖放到首选位置来移动。当一个条目被拖到一个关闭的菜单上时,菜单就会打开,以便将其插入。由于菜单条目是基于操作的,因此它们也可以拖放到工具栏上,在工具栏上显示为工具栏按钮。

工具栏

创建和删除工具栏

工具栏添加到主窗口的方法与菜单栏类似:从窗体的上下文菜单中选择添加工具栏选项。或者,如果主窗口中已有工具栏,也可以单击工具栏右端的箭头创建新工具栏。

通过工具栏右键菜单中的条目,可以从表单中移除工具栏。

添加和删除工具栏按钮

工具栏按钮在操作编辑器中创建为操作,然后拖到工具栏上。由于操作可以由菜单条目和工具栏按钮表示,因此它们可以在菜单和工具栏之间移动。

要在菜单和工具栏之间共享一个操作,可将其图标从操作编辑器拖到工具栏,而不是从其条目所在的菜单拖到工具栏。有关此过程的更多信息,请参阅添加操作

工具栏按钮可通过工具栏的上下文菜单移除。

操作

菜单栏和工具栏都已就位,是时候用操作来填充它们了。菜单和工具栏的新操作都是在操作编辑器窗口中创建的,从而简化了操作的创建和管理。

动作编辑器

打开 "工具"菜单,打开 "动作编辑器 "选项,启用动作编辑器

操作编辑器允许您创建操作和删除操作。它还提供搜索功能,即使用动作文本进行过滤

Qt Widgets Designer动作编辑器可以在经典的图标视图详细视图中查看。下面的截图显示了详细视图中的动作编辑器。你还可以在菜单、工具栏和表单之间复制和粘贴操作。

创建动作

要创建动作,请使用动作编辑器的 "新建 "按钮,然后会弹出一个输入对话框。为新操作提供文本--这是将出现在菜单项和操作工具提示中的文本。文本还会自动添加到 "动作 "前缀中,创建动作的对象名称

此外,对话框还提供了为动作选择图标和删除当前图标的选项。

动作创建完成后,可在任何适用动作的地方使用。

添加操作

要将操作添加到菜单或工具栏,只需在操作编辑器中的操作上按下鼠标左键,然后将其拖动到首选位置即可。

Qt Widgets Designer 操作编辑器会提供突出显示的引导线,告诉你将添加操作的位置。找到合适的位置后,松开鼠标按钮即可添加操作。

Dock 小工具

Dock 部件也是容器部件。只需将它们拖放到所需的停靠区域,即可将其添加到表单中。

添加 Dock 部件

要将停靠窗口小部件添加到表单中,可从窗口小部件框的容器部分拖动一个窗口小部件,然后将其拖放到主表单区域。请勿将停靠窗口小部件添加到现有布局中。而是打开 "属性编辑器",启用停靠属性,将其置于停靠区域。

请注意,如果在中央窗口部件应用布局之前将其添加到表单中,有时会更容易配置停靠窗口部件。例如,可以解除停靠并调整其大小,从而更方便地添加子窗口部件。

停靠窗口部件可以作为独立的工具窗口浮动。因此,通过设置windowTitle 属性来赋予它们窗口标题是非常有用的。这也有助于在窗体上识别它们。

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