QT使用菜单并加上图标和快捷键

仿照windows的记事本,做出来大概是这个样子

实现的功能有:
1. 用鼠标点击或者按ALT + F 可以弹出菜单
2.弹出菜单后,按键盘N或者点击菜单可以执行对应的动作
3.直接按CTRL + N快捷键也可以执行对应的动作.
现在就一步一步开始吧:

A) 进入设计界面,输入文件(&F)并按回车

此处的&F表示,用ALT + F可以弹出菜单来,这和mfc是一样的.

B) 进入子菜单设置,输入新建(&N)并按回车
注意,这里有一个插曲,我是输入不了的,只好在记事本里面输入好新建(&N),然后复制过来

C) 修改一下处理事件的名字,如图所示

D) 增加快捷键,如图所示

E) 增加菜单后的处理函数
在Action Editor中,找到"新建(&N)",点右键,"转到槽",然后选triggered(),如图所示

点OK后,就会进入代码编辑输入,输入如下代码:

void MainWindow::on_action_New_triggered()
{
    QMessageBox::information(this, "提示","点击了新建菜单");
}

注意,我们输入的是中文,需要在入口函数main中做下处理,才不会乱码,参考:
https://www.cnblogs.com/xingzaicpp/p/16667671.html

好了,运行起来测试一下:

最后,我们再给新建这个菜单加个图标吧,看起来好看一点,如果你还不知道怎么导入图片,请参考:
https://www.cnblogs.com/xingzaicpp/p/16667671.html
导入图片后,进入UI 设计界面
选择 新建&N 然后修改icon属性,放入new.png

执行效果如下:

大功告成
代码见:
http://q1024.com/files/qt_window-master.zip  000200目录

posted @ 2022-09-07 23:22  xingzaicpp  阅读(650)  评论(0编辑  收藏  举报