如果在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,才會正常。
詳參:
1. sig = QtCore.pyqtSignal()
2. sig.connect(func)
3. sig.emit()
但要注意,如果把整個程式連接到Signal, 例如叫做sig_all, 並把sig_all.emt放到QThread的run裡面,將不會有一直更新的效果。一般要正常,是把整個function放到QThread的run裡面,而function裡面再用Signal,才會正常。
詳參:
沒有留言:
張貼留言