今天我们开始讲第四节的课程,主窗口程序,其实就是我们打开桌面应用程序时,程序的主界面。如下图。

主窗口程序主要由菜单栏,工具栏,悬停窗口,中心窗口,状态栏组成。对于我们程序员,最典型的桌面软件就要属vs2010了。

针对主窗口的每一个组件,Qt都提供了相应的类
菜单栏:QMenu
工具栏:QToolBar
悬停窗口:QDockWidget
中心窗口:QWidget及其子类
状态栏:QStatusBar
4.1.1 使用ui设计器创建主窗口程序。
按Ctrl + N新建工程MainWindow,然后,选择主窗口模板,类名为MainWindow。这个模板提供了一个主应用程序窗口,它包含一个菜单栏和一个默认的工具栏——如果不需要的话,这些可以删除。
如果删除了菜单栏,则可以通过从右键菜单中选择“创建菜单栏选项”来创建一个新的“菜单栏”。
一个应用程序只能有一个菜单栏,但是有几个工具栏。

4.1.1.1 添加菜单
打开ui文件,按照下面的图示进行操作:

在文本框里输入 “文件(&F)” &符号表示F是快捷键,有快捷键的会在该字母下显示下划线。

输入完文字后要按回车,如果鼠标点击其它处,是不会将文本输入到文本框的。
在子菜单中继续输入,如下图

如果这里无法输入中文的话,你可以先在其它文本编辑器中写好,再粘贴到此处,或者先创建个英文的菜单,在属性编辑窗口,将text属性修改为中文的。

子菜单旁边的加号,表示还可以再继续添加子菜单。
此时,我们看到在动作编辑器和对象编辑器中,多了一个action,我们改名为actionNewFile

4.1.1.2 添加工具栏
点击主界面空白部分,鼠标右键,选择添加工具栏。你也可以选择删除某个工具栏。

工具栏可以被拖拽在中心窗口的四周,上下左右。
现在我们从动作编辑器中拖动actionNewFile到工具栏中

我们刚才生成的action就到了工具栏中。在动作编辑器中你就可以右键“转到槽”来编辑该动作对应的函数了。
4.1.1.3 添加悬停窗口
从左侧控件窗口拖一个DockWidget到主界面中

DockWidget可以放在中心窗口的四周。
也可以关闭和再次打开DockWidget,DockWidget还可以悬停在主窗口上,它常常用来作小工具窗口。
现在,我们运行程序吧。
好了,关于主窗口程序今天先讲到这里,我们下期再见。
更多干货,请关注微信公众号:小豆君,只要关注,便可加入小豆君为大家创建的C++\Qt交流群,方便讨论学习。
网友评论