O Decorador de Slots PySide é Necessário?
Eu vi algum código de exemplo para slots PySide que usa o decorador @ QtCore.Slot e alguns que não. Testando eu mesmo, não parece fazer diferença. Existe uma razão pela qual eu deveria ou não usá-lo? Por exemplo, no código a seguir:
import sys
from PySide import QtCore
# the next line seems to make no difference
@QtCore.Slot()
def a_slot(s):
print s
class SomeClass(QtCore.QObject):
happened = QtCore.Signal(str)
def __init__(self):
QtCore.QObject.__init__(self)
def do_signal(self):
self.happened.emit("Hi.")
sc = SomeClass()
sc.happened.connect(a_slot)
sc.do_signal()
o decorador @ QtCore.Slot não faz diferença; Eu posso omiti-lo, chamar @ QtCore.Slot (str), ou mesmo @ QtCore.Slot (int), e ainda diz muito bem, "Oi".
O mesmo parece ser verdade para o pyqtSlot do PyQt.