在 Qt Designer 中创建主窗口
Qt Designer 可用于创建不同用途的用户界面,并为每个用户界面提供不同类型的表单模板。主窗口模板用于创建包含菜单栏、工具栏和浮动小部件的应用程序窗口。
通过打开 文件 菜单并选择 新建表单... 选项,或按 Ctrl+N 创建一个新的主窗口。然后,选择 主窗口 模板。此模板提供包含菜单栏和工具栏的主应用程序窗口,这些可以按需移除。
如果移除了菜单栏,可以通过在主窗口表单内右键单击以获得上下文菜单,并从上下文菜单中选择 创建菜单栏 选项来创建一个新的菜单栏。
应用程序只能有 一个 菜单栏,但可以有多个工具栏。
菜单
通过修改 此处输入 占位符来向菜单栏添加菜单。其中之一始终存在用于编辑目的,且在预览或完成窗口中不会显示。
一旦创建,可以使用 属性编辑器 访问菜单的属性,并且可以通过 对象检查器 访问每个菜单以进行此目的。
可以通过在菜单栏中的标签上打开上下文菜单,并选择 移除菜单 'menu_name' 来删除现有菜单。
创建菜单
双击占位符项以开始编辑。可以使用行编辑显示菜单文本,可以进行修改。
插入新菜单所需文本。插入一个与符号字符 (&) 会导致其后跟的字母用作菜单的访问键。
按 Return 或 Enter 键接受新文本,或按 Escape 键拒绝。如果需要,您可以稍后撤销编辑操作。
菜单也可以通过简单地将它们拖放到首选位置来在菜单栏中重新排列。一条垂直红线指示菜单将被插入的位置。
菜单可以包含任意数量的条目和分隔符,并且可以根据需要嵌套到所需的深度。可以通过通常方法遍历菜单结构来向菜单添加新的条目。
创建菜单条目
双击 此处输入 占位符以开始编辑,或双击 添加分隔符 在菜单中最后一个条目后插入一个新分隔符行。
使用行编辑显示菜单条目的文本,可以进行修改。
插入新条目所需的文本,可选地使用与符号字符 (&) 来标记要作为条目的访问键使用的字母。
按Enter或Return键接受新文本,或按Escape键拒绝。为此菜单项创建的动作可以通过动作编辑器访问,并且可以在那里设置任何相关的快捷键。
就像菜单一样,可以通过在首选位置拖动和放置它们来移动条目。当条目拖动到关闭的菜单上时,该菜单将打开以允许将条目插入其中。因为菜单条目基于动作,它们也可以被拖放到工具栏上,然后在工具栏上显示为工具栏按钮。
工具栏
创建和删除工具栏
工具栏以类似于菜单栏的方式添加到主窗口中:从表单的上下文菜单中选择“添加工具栏”选项。或者,如果主窗口中已存在工具栏,您可以点击其右端的箭头创建一个新的工具栏。
通过工具栏的上下文菜单中的条目从表单中删除工具栏。
添加和删除工具栏按钮
工具栏按钮作为动作创建在动作编辑器中,然后拖放到工具栏上。由于动作可以表示为菜单条目和工具栏按钮,因此它们可以在菜单和工具栏之间移动。
要将动作在菜单和工具栏之间共享,将动作图标从动作编辑器拖动到工具栏,而不是从其条目所在的菜单拖动。有关此过程的更多信息,请参阅添加动作。
通过工具栏的上下文菜单删除工具栏按钮。
动作
在菜单栏和工具栏就绪后,就可以将动作填充到其中。新的菜单和工具栏动作在动作编辑器窗口中创建,从而简化了动作的创建和管理。
动作编辑器
通过打开工具菜单并切换到动作编辑器选项来启用动作编辑器。
动作编辑器允许您创建新动作和删除动作。它还提供了一个搜索功能筛选器,使用动作的文本。
Qt Designer的动作编辑器可以在经典的图标视图和详细视图中查看。下面的快照显示的是详细视图中的动作编辑器。您还可以在菜单、工具栏和表单之间复制和粘贴动作。
创建动作
要创建动作,请使用动作编辑器的新按钮,它将弹出一个输入对话框。为新动作提供一个文本——这就是将出现在菜单条目和动作的工具提示中的文本。文本还自动添加到“action”前缀,创建动作的对象名称。
此外,对话框提供了为动作选择图标以及移除当前图标的选项。
动作创建后,就可以在任何需要动作的地方使用它。
添加动作
要将动作添加到菜单或工具栏,只需在动作编辑器中的动作上按下鼠标左键,并将其拖动到首选位置。
Qt Designer提供了高亮的辅助线,告诉您动作将被添加的位置。当您找到正确的位置时,释放鼠标按钮以添加动作。
停靠部件
停靠部件也是容器部件。可以通过将它们拖放到所需的停靠区域将它们添加到表单中。
添加停靠部件
要将停靠部件添加到表单,从小部件框的容器部分拖动一个,并将其放到主要表单区域上。不要将停靠部件添加到现有布局中。相反,打开属性编辑器并启用停靠属性以将其放置在停靠区域。
请注意,如果在一个布局应用于中央部件之前将停靠部件添加到表单,有时配置停靠部件会更简单。例如,可以取消停靠并调整大小,使其更方便添加子部件。
停靠部件可以作为独立工具窗口可选地浮动。因此,有必要通过设置其windowTitle属性为其提供窗口标题。这也有助于在表单中识别它们。
© 2024 The Qt Company Ltd。本文档中的文档贡献属于其各自所有者。提供的文档受GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。Qt 和相应的徽标是 The Qt Company Ltd 在芬兰和/或全球其他国家的商标。所有其他商标属于其各自所有者。