首先启动Qt creator(在这里就不讲解Qt安装的过程了,网上有很多很好的教程),如图所示:
然后新建一个项目,菜单栏 文件->New file or Project,如图所示:
如图所示,项目选中Application,并在右侧选择Qt Widgets Application,接着点击Choose...,,接着如图所示:
取名称为MyMenu再下一步:
接着选择Kits,这里的Kits就是编译器,我电脑安装的VS是2017版本所以选择DesttopQt 5.9.4 MSVC2017 64bit,同时选择Qt的gcc编译器Desktop Qt 5.9.4 MinGW 32 bit,如果电脑安装的是其他版本的VS可选择对应版本的编译器(这篇文章没有将如何安装Qt和如何设置编译器),然后下一步
记住这里不勾选创建界面(G).
下一步,完成。
进入到了mainwindow.cpp界面,现在点击左下角的三角形,运行程序:
如图所示为程序运行结果。
接下了进入到了编写菜单的环节。
(1)我们在编写菜单是要用到两个头文件,在mainwindow.h中加入如下头文件。
#include
#include
#include
同时在类中定义两个私有变量,同时定义三个公有的函数。
QMenu为菜单类,QAction为动作类,即响应函数类,在这里只是示例,只定义了一个菜单和一个功能对象,定义多个同理,函数createActions和createMenus分别是创建Action和Menu的,而myFunction函数时响应myAction这个动作的槽函数(接下来详细地讲解),接下来在mainwindow.cpp文件中进行操作。
首先描写刚才在.h文件中定义的函数,函数的代码意义见注释,其中MyFunction为响应函数,为了证明后续函数调用成功,我们写的是文件打开程序,在myFunction中用到了QFileDialog所以在头文件中应添加。
#include
在三个函数写好后,然后是怎样调用函数了,MainWindow类时主窗口类,在main.cpp中调用了其对象,c++中当创建对象时,会首先调用构造函数,所以接下来的代码会在MainWindow类中的构造函数中写。如图所示。
到这里就大功告成了,然后点击左下角三角形运行程序。
同时按快捷键ctrl+o也可调出打开对话框。
下面是程序运行可能出现的错误,如下所示:
这个问题就是,没有加相应的头文件。
但构成函数写成如下所示时(即先调用创建菜单函数,然后调用创建动作函数):
出现的错误如下:
或者程序直接崩溃,由于先调用createMenus函数,在添加子菜单时,myAction并没有初始化,为野指针。
写到这里,相信读者已经会写如何在主窗口中添加菜单的程序了,以上只是个示例,读者可以在上面的基础上,添加更多的菜单和子菜单,设置自己喜欢的名字,提示内容还有快捷键,如果还没有明白,如下为Qt院代码链接。