这样定义一个没有参数的信号
speak = QtCore.Signal()
这样定义一个带参数的信号
speakNumber = QtCore.Signal(int)
信号的重载
speak = QtCore.Signal((int,someType), (str,otherType))
重载的参数作为tuple或者list传递给Signal(),调用时
-
someone. speak. emit ( 10 )
-
someone. speak [str ]. emit ( "Hello everybody!" )
这样连接
除了可以连接slot外,还可以直接连接python的函数
-
someone. speak. connect (saySomething )
-
someone. speak [str ]. connect (saySomething )
注意:信号是运行时对象,所以必须用一个对象来激活。
如:someObjec.signal.emit(int)
而:class.signal.emit()会发生错误
这样定义槽
-
def saySomeWords (words ) :
-
print words
-
def saySomething (stuff ) :
-
print stuff