Qt使用信號與槽時出現的錯誤“Incompatible sender/receiver arguments”


在學習使用qt的過程中,沒有好好的去了解信號與槽的機制,導致出現了這么一段代碼:

connect(timer1, SIGNAL(timeout()), this, SLOT(exeMonitor(QString)));

在編譯時沒有出現錯誤,但當觸發該信號時輸出框顯示:

即:矛盾的發送/接收參數。

在仔細了解了信號與槽之后發現,不管是調用系統的還是自定義,信號和槽函數參數類型要一致,由於timeout()是無參數的,exeMonitor(Qstring )包含一個參數類型,所以會報錯。改成exeMonitor()並將相應的槽函數修改之后成功運行。

另外,信號與槽函數都不能傳參,所以類似exeMonitor(Qstring fileName)這樣的函數也是錯誤的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM