在QT编程中,我想在主菜单点菜单时直接触发一个action,而不是把action作为他的子菜单去触
在QT编程中,我想在主菜单点菜单时直接触发一个action,而不是把action作为他的子菜单去触发,谁能帮帮我...
在QT编程中,我想在主菜单点菜单时直接触发一个action,而不是把action作为他的子菜单去触发,谁能帮帮我
展开
3个回答
展开全部
按照你所说,你只是想要主菜单点击时,就会调用一段程序吧,那么你可以不用action,如果说你这action在别的地方没用的话。
如上所说,你应该重写QMenu(也就是你的主菜单)的mousePressEvent事件,也就是鼠标按下事件,然后在这个事件调用你想要的方法,或者直接在这个事件里面执行你的操作。
如果不懂,百度“Qt事件”,比如Qt鼠标单击事件什么的,看看如何重写相关事件。
更多追问追答
追答
搜索QWidget的鼠标事件
展开全部
这样可以
connect(ui->menu95563, SIGNAL(aboutToHide()), this, SLOT(menuTriggered()));
connect(ui->menu95563, SIGNAL(aboutToShow()), this, SLOT(menuTriggered()));
我之前想用
void triggered ( QAction * action )
但是这个要双击才能实现 用hide和show信号连接同一个槽函数 即可每次点击都执行
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对象 换成你自己的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询