前言
本文翻译QT官方文档——Creating Main Windows in Qt Designer。主要用来补充C++ GUI QT4编程(第二版)忽略的部分。
本文使用软件对应版本为:
- QT creator 3.6.1
- QT4.8.7
- MinGW 4.8.2
QT Designer可以因用户不同目的创建不同的界面,且为每一种用户界面提供不同表单模板。主窗口模板创建的用户窗口带有菜单栏工具栏以及其他的小控件。
创建一个全新的主窗口可以通过 文件(File)->新建(new Form) 的选项或者直接通过快捷键Ctrl+N。然后选择Main Window模板。这个模板可以创建一个主应用窗口,其默认包含一个菜单栏和一个工具栏,若是不需要,也可以删除。
如果已经删除了菜单栏,则可以通过 右键->创建菜单栏(create Menu Bar) 来重现创建。
一个应用窗口只能包含一个菜单栏,但可以包含几个工具栏。
菜单
修改占位符 从这里输入(Type Here) 可以添加菜单。这个占位符在编辑模式下一直存在,但是不会在预览或者已完成的窗口中显示。
一旦创建了菜单,就可以通过 属性编辑器(Property Edditor) 来修改菜单的属性,而每个菜单都可以通过 对象查看器(Object inspector) 来访问。
已经建立的菜单可以通过右键->移除菜单"menu_名称"(Remove Menu’ menu_name’) 删除。
创建菜单
双击占位符词条开始编辑菜单。当占位符变成行编辑器(line edit)时,菜单显示内容可以被修改。
给新菜单插入所需的文本。符号& 后第一个字母为该菜单的助记符。
回车键(Return) 确认修改内容,Escape键撤销修改内容。如有需要,也可以后来撤销修改内容。
通过拖拽菜单,可以合理安排菜单的顺序。红线的位置标示菜单即将插入的位置。
菜单可以包含任意数量的条目和分隔符,同样可以嵌套所需的深度。
创建菜单项
双击 总这里输入(Type here) 开始编辑菜单项,或者可以双击 添加分隔符(Add Separator) 来增加分隔符。
当菜单项文字变为行编辑器(line edit)时,菜单项可以被修改。
为新建的菜单项插入合适的文本内容,同样的&后字符为菜单项的助记符。
回车键(Return) 为确认文本内容,Escape 为撤销修改内容。该菜单项所创建的动作(action) 可以通过动作编辑器(Action Editor) 来访问,动作对应的快捷键同样可以再此处修改。
和菜单一样,菜单项可以通过拖拽移动到合适的位置。当菜单项拖拽到闭合的菜单时,该菜单将会打开以让菜单项插入进来。因为菜单项是基于动作(action),所以,其同样可以移入工具栏。
工具栏
创建和移除工具栏
在主窗口上添加工具栏和菜单栏类似:右键->添加工具栏(Add Tool Bar) .
在工具栏上右键可以删除该工具栏。
添加和删除工具栏按钮
将动作编辑器(Action Edditor) 中的动作(actions)拖拽到工具栏中创建工具栏按钮。动作(actions)可以再菜单栏和工具栏上显示,因此,其还可以在两者之间移动。
为了同时在菜单栏和工具栏中保持一个动作,因此,要从动作编辑器中拖拽到工具栏,而不能从菜单选项中拖拽。
工具栏按钮可以通过鼠标右键删除。
动作(Actions)
当菜单栏和工具栏已经准备就绪,下面就用动作(Actions)来填充他们。在菜单栏和工具栏所用的动作可以在动作编辑器窗口(Action editor window) 中创建一简化动作的创建和管理。
动作编辑器
动作编辑器可以通过 视图(Tools)->动作编辑器(Action Editor) 打开。
动作编辑器可以新建(New) 及删除(Delete) 动作。另外,还提供了搜索功能——过滤器(Filter)——可以通过动作的文本过滤。
动作编辑器提供了 图标显示(Icon View) 和 细节显示(Detail View) 两种显示方式。下图展示了细节显示。你可以在菜单栏、工具栏和表单之间复制粘贴。
创建一个动作
可以通过动作编辑器的新建(New) 按钮创建动作,其将会弹出一个输入对话框。在文本(Text) 对应位置输入相应内容,该内容将会在菜单选项中,作为该动作的提示信息。这个名称也会自动变成对象名称的后缀。
另外,该对话框还提供了该动作的 图标(ICON) 选择,同时会移除当前图标。
动作一旦创建,就可以用于任何合适的地方。
增加一个动作
若需要在菜单栏或者工作栏添加一个动作,只需将动作编辑器中的对应动作用鼠标拖拽到对应位置即可。
Qt Designer 提供高亮指导行(highlighted guide lines)告诉你动作被放置的位置。若发现位置合适,即可以将放松鼠标。