在學習使用qt的過程中,沒有好好的去了解信號與槽的機制,導致出現了這么一段代碼:
connect(timer1, SIGNAL(timeout()), this, SLOT(exeMonitor(QString)));
在編譯時沒有出現錯誤,但當觸發該信號時輸出框顯示:
即:矛盾的發送/接收參數。
在仔細了解了信號與槽之后發現,不管是調用系統的還是自定義,信號和槽函數參數類型要一致,由於timeout()是無參數的,exeMonitor(Qstring )包含一個參數類型,所以會報錯。改成exeMonitor()並將相應的槽函數修改之后成功運行。
另外,信號與槽函數都不能傳參,所以類似exeMonitor(Qstring fileName)這樣的函數也是錯誤的。