我已经看到了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),它仍然很好地说, “嗨。”
同样的似乎是PyQt的的pyqtSlot如此。