@QtCore.Slot デコレーターを使用する PySide スロットのサンプル コードと、使用しないサンプル コードを見てきました。自分でテストしたところ、違いはないようです。使用すべき、または使用すべきでない理由はありますか? たとえば、次のコードでは:
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) を呼び出したりしても、「こんにちは」とうまく言います。
同じことが PyQt の pyqtSlot にも当てはまるようです。