這樣的例子在網上有很多,就不寫了。
這樣寫的話,會有壹些東西需要了解。
子類化QThread的方法,只有run函數裏面的內容是執行在子線程裏的,其他的部分,比如槽函數什麽的還是在主線程裏執行(假設是在主線程開啟的該子線程)。
還有壹種方法,是子類化QObject,新建壹個線程,然後使用MoveToThread把這個類的對象移到新建的線程中,這種做法使得它所有的槽函數都是執行在新開辟的線程裏面。
如果直接(QObject對象).abc()的話,這個成員函數是在主進程內執行,可能會出現"QObject::killTimer: timers
cannot be stopped from another thread"的運行錯誤。
使用第二種方法的話,貌似會遇到這樣的問題:如果在壹個槽函數中把子線程阻塞,其他的槽函數無法接受來自主線程
額信號。