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://netpt.net/forum.php?mod=viewthread&tid=50

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

最后,我们再给新建这个菜单加个图标吧,看起来好看一点,如果你还不知道怎么导入图片,请参考:
https://netpt.net/forum.php?mod=viewthread&tid=50
导入图片后,进入UI 设计界面
选择 新建&N 然后修改icon属性,放入new.png

执行效果如下:

大功告成
代码见:
https://gitee.com/flash008/qt_window/tree/master/000200/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的C++开发框架,它提供了丰富的图形用户界面(GUI)组件,可以轻松地创建各种菜单并将其集成到应用程序中。 Qt提供了Qt Widgets模块,其中包含了各种用于创建用户界面的类。其中之一是QMenuBar类,它可以用于创建菜单栏,包括水平菜单和垂直菜单。 对于垂直菜单,可以使用QMenu类来创建。首先,我们需要创建一个QMenu对象,并使用addMenu()方法将它添菜单栏或其他菜单中。然后,我们可以使用addAction()方法来添菜单项。每个菜单项都可以关联一个动作(QAction),并在用户选择该菜单项时执行相应的操作。 可以使用QAction类创建动作对象。动作对象可以设置图标、文本、快捷键等属性,还可以关联一个槽函数,该函数在动作被触发时执行相应的操作。 在创建垂直菜单时,可以使用QVBoxLayout布局来安排菜单项的位置。QVBoxLayout可以通过addWidget()方法来添QMenu对象,并使用addSpacing()方法来添间距或分隔符。最后,将QVBoxLayout设置给QWidget或QMainWindow的布局管理器,将垂直菜单到对应的界面中显示出来。 总结,Qt提供了丰富的组件和类来创建侧边垂直菜单。通过使用QMenu、QAction、QVBoxLayout等类和方法,可以轻松创建垂直菜单,并将其集成到Qt应用程序中。这样的侧边垂直菜单可以提供更好的用户体验和界面交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值