总结:PyQt5自定义信号源

时间:2022-09-07 23:01:29

定义一个信号源有4个方面要注意:

1.定义信号源

A = pyqtSignal([str], [int,str])

  这里特别使用信号源重载的情况加以说明。如上就是信号源A的重载,一个可以发送str参数,另一个可以发送(int,str)参数。注意这相当于声明了两个同名但参数不同的信号源。

2.链接“槽”,

A[int,str].connect(func)

  对于重载的信号源,A之后的[int,str]是必须的,一旦忽略默认为信号源定义时匹配第一个参数的信号源,在本例中就是参数为[str]的A信号源。对于非重载的信号源可以有也可以没有,只是必须与定义信号源时的参数一致。

3.信号发送emit

A[int,str].emit(1,'eee')

  注意这里的[int,str]是必须的,一旦忽略默认为信号源定义时匹配第一个参数的信号源,在本例中就是参数为[str]的A信号源。

4.函数即‘槽’的编写

def func(arg1,arg2):

  注意func的参数只能少于信号源发送的参数,不能多余。