Qt学习之路(13): 菜单和工具条(续)
时间:2010-12-02 来源:siriurs28
openAction = new QAction(tr("&Open"), this); |
我们使用setIcon添加图标。添加的类是QIcon,构造函数需要一个参数,是一个字符串。由于我们要使用qrc中定义的图片,所以字符串以 : 开始,后面跟着prefix,因为我们先前定义的prefix是/,所以就需要一个/,然后后面是file的路径。这是在前面的qrc中定义的,打开qrc看看那张图片的路径即可。 好了,图片添加完成,然后点击运行,看看效果吧! 瞧!我们只需要修改QAction,菜单和工具条就已经为我们做好了相应的处理,还是很方便的! 下一步,为QAction添加事件响应。还记得Qt的事件响应机制是基于信号槽吗?点击QAction会发出triggered()信号,所以,我们要做的是声名一个slot,然后connect这个信号。 mainwindow.h
class MainWindow : public QMainWindow |
因为我们的open()目前只要在类的内部使用,因此定义成private slots即可。然后修改cpp文件:
MainWindow::MainWindow(QWidget *parent) |
注意,我们在open()函数中简单的弹出一个标准对话框,并没有其他的操作。编译后运行,看看效果: 好了,关于QAction的动作也已经添加完毕了! 至此,QAction有关的问题先告一段落。最后说一下,如果你还不知道怎么添加子菜单的话,看一下QMenu的API,里面会有一个addMenu函数。也就是说,创建一个QMenu然后添加就可以的啦!