QT 中 其他類的信號發(fā)射到UI主線程出現(xiàn)“ undefined reference”錯誤 class loadkeyServer { public: loadkeyServer(); .................... signals: void updateMsgSignal(QString Msg);} 首先這個代碼定義了信號,,但是并沒有使用Q_OBJECT這個宏,。 因?yàn)槿绻愦a有這個宏,,Qt是要在編譯之前先額外處理一下,就是生成的MOC_xxxx.cpp這種東西,。實(shí)際上,,信號的實(shí)現(xiàn)應(yīng)該在那里。如果你沒有這個處理的話,,沒有這個文件,,信號的函數(shù)自然是未定義的。 使用QT create 重新定義類,,繼承QObject, 自動生成類構(gòu)造函數(shù)跟Q_OBJECT這個宏 class loadkeyServer : public QObject {
Q_OBJECT public: explicit loadkeyServer(QObject *parent = 0); 注:explicit主要用于 "修飾 "構(gòu)造函數(shù).指明構(gòu)造函數(shù)只能顯示使用,目的是為了防止不必要的隱式轉(zhuǎn)化. |
|