pyqt 使用信号和槽实现父子窗口之间的参数传递

在子窗口类中,需要注意
1.子窗口继承于Qwidget
2.pyqtSignal对象需要创建在类内而不是在构造函数中创建

class Ui_Dialog(QWidget):
    mySignal = pyqtSignal(list)

    def __init__(self):
    ...

在需要发送的函数中添加代码

# 参数自己定义就好
params = [self.sdo_checked, self.tpdo_checked, 
	self.rpdo_checked, self.nmt_error_checked, self.id_checked]
self.mySignal.emit(params)  # 发射自定义信号,参数为list类型

在父窗口中,将子窗口的信号与主窗口类中的槽函数绑定

# 在创建对象后就可以绑定了
self.子窗口 = sortWindow.Ui_Dialog()
self.子窗口.mySignal.connect(self.mySlot)
def mySlot(self, params):
	...

当然也可以传递一些其他类型的参数
可以参考:https://www.cnblogs.com/XJT2018/p/10222981.html

本文参考资料:
https://zhuanlan.zhihu.com/p/370300125
https://blog.csdn.net/jeekmary/article/details/79675917

你可能感兴趣的:(python)