Qt5:无法将信号连接到插槽
Qt5: could not connect signal to slot
我正在尝试升级我的旧应用程序。。(再增加一个功能)。所以,我在"文件"菜单中又添加了一个项目。
<addaction name="actionDownload_Firmware_Image"/>
<action name="actionDownload_Firmware_Image">
<property name="text">
<string>&Download Firmware Image</string>
</property>
<property name="menuRole">
<enum>QAction::ApplicationSpecificRole</enum>
</property>
</action>
在这里定义我的插槽:
void MainWindow::on_actionDownload_Firmware_Image_triggered()
主窗口.h>
private slots:
void on_actionDownload_Firmware_Image_triggered();
所以,我清理我的项目run qmake
,构建项目。。。播放它,我得到了和以前完全一样的GUI,没有新的菜单项。
当应用程序运行时,我收到以下消息>
QMetaObject::connectSlotsByName: No matching signal for on_actionDownload_Firmware_Image_triggered()
在stackoverflow上的其他问题上,我注意到不建议使用connectSlotsByName
,但我所有的函数和槽都是完全相同的,所以它应该是这样工作的。
我不知道为什么会发生这种事,欢迎任何帮助。
谢谢!
问题解决了!
不需要编码。。。
编译时,Qt将ui_mainwindow.h
放在新创建的构建文件夹中,而不是放在项目文件夹中。。所以应用程序看不到更新的.h
在将new.h复制到项目文件夹中,执行qmake
并再次构建之后,一切看起来都很好。
删除操作名称中的下划线。并将插槽定义为:
void MainWindow::on_actionDownloadFirmwareImage_triggered(bool checked)
相关文章:
- 升压信号2将插槽传递到成员功能以断开连接
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- QObject::连接无法将信号连接到*this*对象的插槽
- Qt5:连接:如果插槽的参数少于信号,如何使用"连接"
- 使用std::bind将Qt信号连接到插槽
- 使用信号和插槽连接多个 UI 对象
- 如果代码中没有连接任何插槽,是否有理由发出Qt信号?
- 连接来自 C++98 接口的 Qt 插槽和信号,无需 Qt、STL 或 Boost
- 连接信号(Qstring)白色插槽(字符串)的2个不同类别
- 文档在哪里说明如果参数不是从末端删除参数,则无法从QT信号插槽连接中删除参数?
- 连接 -> 窗口上没有这样的插槽
- 如何将信号连接到类的所有实例的插槽
- 通过排队的QT信号插槽连接发送QSHAREDPOINTERS的QVECTOR
- Qt转发插槽/连接插槽到插槽?
- 信号和插槽的连接(有关QListView)-QT
- 我可以交换QObject儿童保持信号和连接的插槽吗?
- Qt按钮无法连接插槽
- 如何使用C 插槽连接QML信号
- qnetworkAccessManager一个实例并连接插槽
- 在Qt中连接插槽