按照你所说,你只是想要主菜单点击时,就会调用一段程序吧,那么你可以不用action,如果说你这action在别的地方没用的话。
如上所说,你应该重写QMenu(也就是你的主菜单)的mousePressEvent事件,也就是鼠标按下事件,然后在这个事件调用你想要的方法,或者直接在这个事件里面执行你的操作。
如果不懂,百度“Qt事件”,比如Qt鼠标单击事件什么的,看看如何重写相关事件。
这样可以
connect(ui->menu95563, SIGNAL(aboutToHide()), this, SLOT(menuTriggered()));
connect(ui->menu95563, SIGNAL(aboutToShow()), this, SLOT(menuTriggered()));
我之前想用
void triggered ( QAction * action )
但是这个要双击才能实现 用hide和show信号连接同一个槽函数 即可每次点击都执行
使用pyqt5,与Qt类似,在Qmenu类中添加Action,在menubar设置时初始化Qaction而不是Qmenu。
添加action
把原先的代码替换成第二行即可