Я использую pyqt5, и я несколько методов связан с использованием кода, подобный следующему:Зачем нужно украшать подключенные слоты с pyqtSlot?
self.progress.canceled.connect(self.cancel)
Где, например, self.cancel
является:
def cancel(self):
self.timer.stop()
Этот код, кажется, работает чисто в несколько сценариев, не украшая cancel
с помощью pyqtSlot
или ничего особенного с ним делать.
Мои вопросы:
- Что я теряю, делая это таким образом?
- По какой причине требуется
pyqtSlot
?
Кроме того, (по крайней мере, в 'PySide', хотя, я думаю, что это верно в' PyQt' а также), вы * должны * использовать декоратор слота, если хотите отправлять данные сигнала по потокам. –
@BrendanAbel. Это не требуется для сигналов поперечной нити в PySide или PyQt. Единственным исключением из этого является то, что сигнал подключен * до * перемещения объекта на другой поток, но это влияет только на PyQt. Это сценарий, который я упомянул в моем ответе выше (см. [Этот другой ответ] (http://stackoverflow.com/a/20818401/984421) для более полного объяснения). – ekhumoro