在使用PyQT5做GUI桌面应用程序设计时,经常需要对在两个界面之间做信号的传递,这个时候我们需要通过建立信号pyqtSignal 然后通过Connect 相应的槽函数来完成界面之间的数据传递。
1、pyqtSignal
通过pyqtSignal 可以声明不带参数和带参数的实例对象,带参数的实例对象可以声明整形、字符型、列表、字典等数类型,具体如下:
from PyQt5.QtCore import QObject , pyqtSignal
#声明无参数的信号
signal1 = pyqtSignal()
#声明带一个int类型参数的信号
signal2 = pyqtSignal(int)
#声明带int和str类型参数的信号
signal3 = pyqtSignal(int,str)
#声明带一个列表类型参数的信号
signal4 = pyqtSignal(list)
#声明带一个字典类型参数的信号
signal5 = pyqtSignal(dict)
#声明一个多重载版本的信号,包括带int和str类型参数的信号和带str类型参数的信号
signal6 = pyqtSignal([int,str], [str])
对信号携带的数据类型做完相应的实例声明后,通过emit的方式进行信号的发送,但是要根据你声明的信号类型,emit中做相应类型数据的发送
signal1.emit()
signal2.emit(1)
signal3.emit(1,"text")
signal4.emit([1,2,3,4])
signal5.emit({