pyqt子窗口向父窗口传值
最近在写项目的过程中,使用pyqt需要打开子窗口,或者子窗口的值并进行返回,观察了网上很多人都是通过信号量去实现,我总觉得这样很繁琐,并且通过在构造方法里面创建子窗口并绑定子函数也比较繁琐
使用exec可以不用在构造方法里面定义子窗口
# 绑定menu事件
self.action_N.triggered.connect(self.new)
# 绑定函数
def new(self):
# 创建文件或者目录
new = NewView()
print(new.exec())
这时候print输出0和1表示ok或者cancel
重写exec方法
from PyQt5.QtWidgets import QDialog
from five.ui.new_ui import Ui_Dialog
# 子窗口继承类
class NewView(QDialog, Ui_Dialog):
def __init__(self):
super().__init__()
self.setupUi(self)
def exec(self):
is_quit = super(NewView, self).exec()
return is_quit, "sda"
这样就可以获取到sda的值,非常简单