2018年11月10日 星期六

PyQt5, different thread可能解法

如果在QThread裡要更新Qt GUI的元件,正規方法是使用Signal,才不會出現different thread的錯誤,以下是使用signal的步驟:
1.  sig = QtCore.pyqtSignal()
2.  sig.connect(func)
3.  sig.emit()

但要注意,如果把整個程式連接到Signal, 例如叫做sig_all, 並把sig_all.emt放到QThread的run裡面,將不會有一直更新的效果。一般要正常,是把整個function放到QThread的run裡面,而function裡面再用Signal,才會正常。

詳參:


沒有留言:

張貼留言