3
我使用pyqt5,我已經使用類似於下面的代碼連接的幾種方法:爲什麼我需要用pyqtSlot修飾連接的插槽?
self.progress.canceled.connect(self.cancel)
其中,例如,self.cancel
是:
def cancel(self):
self.timer.stop()
此代碼似乎在清潔工作多種場景,無需裝飾cancel
與pyqtSlot
或做任何特殊的事情。
我的問題是:
- 什麼我通過做這種方式失去?
- 是什麼原因
pyqtSlot
是必填項?
另外,(至少在'PySide';不過,我認爲這是PyQt'的'真如果你想通過線程發送信號數據,你必須使用slot裝飾器。 –
@BrendanAbel。 PySide或PyQt中不需要交叉線程信號。唯一的例外是,如果在將對象移動到另一個線程之前連接了一個信號,但隻影響PyQt。這是我在上面的答案中提到的場景(有關更完整的解釋,請參閱[其他答案](http://stackoverflow.com/a/20818401/984421))。 – ekhumoro