在QT编程中,我想在主菜单点菜单时直接触发一个action,而不是把action作为他的子菜单去触

在QT编程中,我想在主菜单点菜单时直接触发一个action,而不是把action作为他的子菜单去触发,谁能帮帮我... 在QT编程中,我想在主菜单点菜单时直接触发一个action,而不是把action作为他的子菜单去触发,谁能帮帮我 展开
 我来答
百度网友615e5cc
2014-03-22 · TA获得超过139个赞
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:82.6万
展开全部
  1. 按照你所说,你只是想要主菜单点击时,就会调用一段程序吧,那么你可以不用action,如果说你这action在别的地方没用的话。

  2. 如上所说,你应该重写QMenu(也就是你的主菜单)的mousePressEvent事件,也就是鼠标按下事件,然后在这个事件调用你想要的方法,或者直接在这个事件里面执行你的操作。

  3. 如果不懂,百度“Qt事件”,比如Qt鼠标单击事件什么的,看看如何重写相关事件。

更多追问追答
追问

是的,你理解了我的意思!mousePressEvent这个信号该如何关联到特定的menu上去呢?

我想点On直接触发去执行一段代码,而不是

点On后,还要点子菜单的On去触发后执行特定的代码!

追答
搜索QWidget的鼠标事件
百度网友914ba41
推荐于2017-11-29 · TA获得超过1608个赞
知道小有建树答主
回答量:1217
采纳率:50%
帮助的人:931万
展开全部
这样可以
connect(ui->menu95563, SIGNAL(aboutToHide()), this, SLOT(menuTriggered()));

connect(ui->menu95563, SIGNAL(aboutToShow()), this, SLOT(menuTriggered()));
我之前想用
void triggered ( QAction * action )
但是这个要双击才能实现 用hide和show信号连接同一个槽函数 即可每次点击都执行
更多追问追答
追问
求解释,第一ui-menu95563是个什么东西
追答
我的QMenu对象 换成你自己的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寓华亭ID
2019-12-03
知道答主
回答量:1
采纳率:0%
帮助的人:668
展开全部

使用pyqt5,与Qt类似,在Qmenu类中添加Action,在menubar设置时初始化Qaction而不是Qmenu。

添加action

把原先的代码替换成第二行即可

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式