Нужен ли декоратор слотов PySide?
Я видел несколько примеров кода для слотов PySide, которые используют декоратор @ QtCore.Slot, а некоторые - нет. Испытывая это сам, это, кажется, не имеет значения. Есть ли причина, по которой я должен или не должен использовать это? Например, в следующем коде:
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()
декоратор @ QtCore.Slot не имеет значения; Я могу опустить его, вызвать @ QtCore.Slot (str) или даже @ QtCore.Slot (int), и он все равно приятно говорит: «Привет».
То же самое можно сказать и о PyQtSlot PyQt.