子窗口向主窗口发射信号。
- 只需要插入两行代码
class CodeSettingWindow(Ui_CodeSetting, QMainWindow):
_signal = pyqtSignal(int, int, int) # 这个信号要放在class之下,———init————函数上
def __init__(self):
# self.Win_X, self.Win_Y, self.CodeNum表示你要发送的信号值。
self._signal.emit(self.Win_X, self.Win_Y, self.CodeNum)
父窗口接收信号。
- self.another._signal.connect(self.addLabel)表示解析子窗口传递过来的信号,一定要新建一个槽函数self.addLabel才可以解析,这是pyqt接收其他窗口信号的规则。
# 定义一个打开子窗口的槽函数
def opencode(self):
self.another = CodeSettingWindow() # 初始化子窗口
self.another.show() # 显示窗体
self.another._signal.connect(self.addLabel)
- addLabel(self, par1, par2, par3),这个参数一定要和子窗口传递的参数一致。
# 定义解析函数
def addLabel(self, par1, par2, par3):
self.data = [par1, par2, par3] # 打印接收的数据
文章来源地址https://www.toymoban.com/news/detail-735274.html
文章来源:https://www.toymoban.com/news/detail-735274.html
到了这里,关于(草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!