【Pyqt5】自定义信号简单原理(易懂版),多窗口交互,传输数据,调用方法
PS:如果你想在2窗口调用1窗口的内部方法,或者在2窗口传递数据给1窗口数据,本片博客可以放心食用
主窗口:
class MainWindow(QWidget,Ui_MainFrom): insertSignal = pyqtSignal() # 创建一个信号 pyqtSigal(str,int) def __init__(self): super(MainWindow, self).__init__() self.setupUi(self) # #去掉标题头 # self.setWindowFlags(Qt.FramelessWindowHint) # self.m_flag = False # 自定义这个创建的信号 self.insertSignal.connect(self.list_show) # 定义这个信号绑定这个调用方法 self.b = BilibliShow_run.BilRetShowForm(self.insertSignal) # 给2窗口发送这个绑定请求 并且继承它 PS:继承它后 你可以show()2窗口
2窗口:
class 2WINDOW(QWidget,Ui_RetShowForm): def __init__(self,insertSignal): # 接收定义信号 super(2WINDOW, self).__init__() self.setupUi(self) self.insertSignal = insertSignal # 继承这个信号 self.insertSignal.emit() # 在这里调用这个函数就等于使用你在1窗口绑定的那个方法 pS:可以传参数就看定义的那个信号有没有设置参数类型 emit("USB",41)
Python全栈(后端、数据分析、脚本、爬虫、EXE客户端) / 前端(WEB,移动,H5) / Linux / SpringBoot / 机器学习