Qt有兩種多線程的方法,其中一種是繼承QThread的run函數(每一個任務就新建一個類,這樣未免有點麻煩)
另外一種是把一個繼承於QObject的類用moveToThread函數轉移到一個Thread裏。
Qt4.8之前都是使用繼承QThread的run這種方法,但是Qt4.8之後,Qt官方建議使用第二種方法。
具體的使用步驟如下:
0x01、從QObject派生一個類,將耗時的工作寫在該類的槽函數中。
0x02、將派生類對象移動到一個QThread中,該線程需要start。(這一步使用moveToThread)
0x03、通過信號連接派生類的槽函數,並通過信號觸發槽函數。(槽函數在子線程中執行)