来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标

来自一个菜鸟的QT学习笔记

QT程序-添加菜单图标

一、添加主窗口菜单

1.新建Qt Gui应用,项目名称为 myMainWindow ,基类选择 QMainWindow ,类名为 MainWindow 。
2.创建完项目后,打开 mainwindow.ui 文件进入设计模式。在这里可以看到界面左上角的“在这里输入”,我们可以在这里添加菜单。双击“在这里输入”,将其更改为“文件( &F )”,然后按下回车键,效果如下图所示。这里的 &F 表明将菜单的快捷键设置为了Alt+ F,可以看到,实际的显示效果中 & 符号是隐藏的。
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
3.同样的方法,我们在文件菜单中添加“新建(&N)”子菜单,效果如下图所示。菜单后面的那个加号图标是用来创建下一级菜单的。来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
二、添加菜单图标

1.Qt中的一个菜单被看做是一个 Action ,我们在下面的 Action 编辑器中可以看到刚才添加的“新建”菜单,如下图所示。
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
2.双击该条目,会弹出编辑动作对话框,这里可以进行各项设置,比如我们可以设置菜单的快捷键,点击一下快捷键后面的行编辑器,然后按下键盘上的 Ctrl + N ,这样就可以将该菜单的快捷键设置为 Ctrl + N 。如下图所示。那么大家可能会问,既然该菜单的快捷键是这么设置的,那么前面设置的“新建(N)”中的N是什么呢?这个可以被称为加速键,就是只有当文件菜单处于**(显示)状态时,按下N键才会执行新建菜单的功能。
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
3.在编辑动作对话框中的图标后面的 黑色箭头下拉框可以选择使用资源还是使用文件,如果使用文件的话,那么就可以直接在弹出的文件对话框中选择本地磁盘上的一个图标文件。下面我们来讲述使用资源的方式,如果直接点击这个按钮就是默认的使用资源。现在我们先按下编辑动作对话框的确定按钮关闭它。

三、添加资源文件

1.Qt中可以使用资源文件将各种类型的文件添加到最终生成的可执行文件中,这样就可以避免使用外部文件可能出现的一些问题。而且,在编译时Qt还会将资源文件进行压缩,我们可能发现生成的可执行文件比我们添加到其中的资源文件还要小。

2.我们向项目中添加新文件,模板选择Qt资源文件。如下图所示。然后将名称设置为 myResources 。

来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
3.创建完文件后会自动打开该资源文件,这里需要先在下面添加前缀,就是点击添加按钮,然后选择前缀,默认的前缀是 /new/prefix1 ,这个可以随意修改(不要出现中文字符),我们这里因为要添加图片,所以修改为/myImages。然后再按下添加按钮来添加文件,这里最好将所有要用到的图片放到项目目录中。比如我们这里在项目目录中新建了一个 images 文件夹,然后将需要的图标文件粘贴进去。添加完文件后,如下图所示。
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
4.当添加完资源后,一定要按下 Ctrl + S 来保存资源文件,不然在后面可能无法显示已经添加的资源。

四、使用资源文件

1.我们重新到设计模式打开新建菜单的编辑动作对话框,然后添加图标。在打开的选择资源对话框中,第一次可能无法显示已经存在的资源,可以按下左上角的绿箭头来更新显示。效果如下图所示。
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标2.我们点击这里需要的新建图标 filenew.png ,按下确定即可。现在按下 Ctrl + R 键运行程序,效果如下图所示。
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
五、使用代码来添加菜单和图标

1.对于添加的资源文件,在项目目录中可以看到,即 myResources.qrc ,使用写字板程序将其打开,可以发现它其实就是一个XML文档:
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
2.前面是在设计模式添加的图标文件,下面我们使用代码再来添加一个菜单,并为其设置图标。在编辑模式打开 mainwindow.cpp 文件,并在构造函数中添加如下代码:
来自一个菜鸟的QT学习笔记(5)QT程序-添加菜单图标
这里添加图标时,就是使用的资源文件中的图标。使用资源文件,需要在最开始使用冒号,然后添加前缀,后面是文件的路径。在代码中使用文件菜单,就是使用其 objectName 。大家现在可以运行程序查看效果,当然这里也可以将Open改为中文。