[英]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()
MainWindow.h>
private slots:
void on_actionDownload_Firmware_Image_triggered();
因此,我清理了我的項目, run qmake
,構建了項目……播放它,得到的GUI與以前完全相同,沒有新的Menu項。
運行App時,出現以下消息>
QMetaObject::connectSlotsByName: No matching signal for on_actionDownload_Firmware_Image_triggered()
我在關於stackoverflow的其他問題上注意到不建議使用connectSlotsByName
,但是我的所有函數和插槽都完全相同,因此它應該像這樣工作。
我不確定為什么會這樣,歡迎任何幫助。
謝謝!
問題已經解決了!
無需編碼...
在編譯時,Qt將ui_mainwindow.h
在其新創建的build文件夾中,而不是在項目文件夾中。因此,該應用程序看不到更新的.h
將新的.h復制到項目文件夾后,執行qmake
並再次構建,一切看起來都很好。
刪除操作名稱中的下划線。 並將插槽定義為:
void MainWindow::on_actionDownloadFirmwareImage_triggered(bool checked)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.