我设置了一个QT菜单,该菜单自动与 Action 功能on_actionOpen_triggered()关联。稍后,我想将文件名字符串传递给此函数,以便在特殊情况下手动调用此函数。因此,我将函数签名更改为on_actionOpen_triggered( const char *filename_in )。进行此更改后,程序运行良好,但是终端中出现了提示,



我想知道发生了什么,以及如何为该菜单操作功能添加参数。

谢谢你。

最佳答案

我面临着相同的Warning/Error QMetaObject::connectSlotsByName:没有匹配信号

并得到了简单的解决方案。
例如:

问题:QMetaObject::connectSlotsByName: No matching signal for on_actionOpen_triggered(const char*)警告
您只需要更改Slot的名称

解决方案
更改插槽名称,如on_actionOpenTriggered,此警告消失。

提示
Qt尝试了解其默认插槽,例如on_<name_of_object>_<action>,因此,如果您指定具有上述签名的任何插槽,Qt都会发出警告。

希望对别人有帮助。

10-08 18:11