qt5.9.4中菜单栏的编写和设置

首先启动Qt creator(在这里就不讲解Qt安装的过程了,网上有很多很好的教程),如图所示:

qt5.9.4中菜单栏的编写和设置_第1张图片

然后新建一个项目,菜单栏 文件->New file or Project,如图所示:

qt5.9.4中菜单栏的编写和设置_第2张图片

如图所示,项目选中Application,并在右侧选择Qt Widgets Application,接着点击Choose...,,接着如图所示:

qt5.9.4中菜单栏的编写和设置_第3张图片

取名称为MyMenu再下一步:

qt5.9.4中菜单栏的编写和设置_第4张图片

接着选择Kits,这里的Kits就是编译器,我电脑安装的VS是2017版本所以选择DesttopQt 5.9.4 MSVC2017 64bit,同时选择Qt的gcc编译器Desktop Qt 5.9.4 MinGW 32 bit,如果电脑安装的是其他版本的VS可选择对应版本的编译器(这篇文章没有将如何安装Qt和如何设置编译器),然后下一步

qt5.9.4中菜单栏的编写和设置_第5张图片

记住这里不勾选创建界面(G).

下一步,完成。

qt5.9.4中菜单栏的编写和设置_第6张图片

进入到了mainwindow.cpp界面,现在点击左下角的三角形,运行程序:

qt5.9.4中菜单栏的编写和设置_第7张图片

如图所示为程序运行结果。

接下了进入到了编写菜单的环节。

(1)我们在编写菜单是要用到两个头文件,在mainwindow.h中加入如下头文件。

#include 
#include
#include 

同时在类中定义两个私有变量,同时定义三个公有的函数。

qt5.9.4中菜单栏的编写和设置_第8张图片

QMenu为菜单类,QAction为动作类,即响应函数类,在这里只是示例,只定义了一个菜单和一个功能对象,定义多个同理,函数createActions和createMenus分别是创建Action和Menu的,而myFunction函数时响应myAction这个动作的槽函数(接下来详细地讲解),接下来在mainwindow.cpp文件中进行操作。

qt5.9.4中菜单栏的编写和设置_第9张图片

首先描写刚才在.h文件中定义的函数,函数的代码意义见注释,其中MyFunction为响应函数,为了证明后续函数调用成功,我们写的是文件打开程序,在myFunction中用到了QFileDialog所以在头文件中应添加。

#include 

在三个函数写好后,然后是怎样调用函数了,MainWindow类时主窗口类,在main.cpp中调用了其对象,c++中当创建对象时,会首先调用构造函数,所以接下来的代码会在MainWindow类中的构造函数中写。如图所示。

qt5.9.4中菜单栏的编写和设置_第10张图片

到这里就大功告成了,然后点击左下角三角形运行程序。

qt5.9.4中菜单栏的编写和设置_第11张图片

同时按快捷键ctrl+o也可调出打开对话框。

下面是程序运行可能出现的错误,如下所示:


这个问题就是,没有加相应的头文件。

但构成函数写成如下所示时(即先调用创建菜单函数,然后调用创建动作函数):

qt5.9.4中菜单栏的编写和设置_第12张图片

出现的错误如下:


或者程序直接崩溃,由于先调用createMenus函数,在添加子菜单时,myAction并没有初始化,为野指针。

写到这里,相信读者已经会写如何在主窗口中添加菜单的程序了,以上只是个示例,读者可以在上面的基础上,添加更多的菜单和子菜单,设置自己喜欢的名字,提示内容还有快捷键,如果还没有明白,如下为Qt院代码链接。






你可能感兴趣的:(qt5.9.4中菜单栏的编写和设置)