在使用訊號與槽很容易發生 undefined reference to 發射訊號
①繼承QObject
②新增Q_OBJECT
③執行qmake
④構建
然後就可以執行啦!但是不知道是為什麼,悄咪咪放在這裡做個記錄 。
1 #ifndef TIMERWRITEFILE_H 2 #define TIMERWRITEFILE_H 3 4 #include <QObject> 5 #include <QDebug> 6 #include <QTimerEvent> 7 #include <QTextCodec> 8 #include <OffSiteAlg.h> 9 10 #define MAXPOTS 831 11 12 bool ReadWavesFile(); 13 14 extern QString FileName; 15 extern bool PreviousFlag; 16 extern bool NextFlag; 17 extern bool IsChartDis; 18 extern bool StartOrStop; 19 extern int FreamCnt;//總幀數計數 20 extern int LocalCnt; 21 22 class TimerWriteFile : public QObject 23 { 24 Q_OBJECT 25 public: 26 explicit TimerWriteFile(QObject *parent = nullptr); 27 void handleTimeout(); //超時處理函式 28 virtual void timerEvent( QTimerEvent *event); 29 private: 30 int m_nTimerID; 31 int TIMER_TIMEOUT; 32 signals: 33 void SIG_INSERTDATA(unsigned char *readbuf,int a, int b); 34 void SIG_TIMERPRAPAREDATA(); 35 }; 36 37 #endif // TIMERWRITEFILE_H