首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何向closeEvent()提供参数

如何向closeEvent()提供参数
EN

Stack Overflow用户
提问于 2019-01-31 17:50:09
回答 2查看 414关注 0票数 0

我使用Qt Designer创建一个GUI。现在我需要给closeEvent额外的参数。如何为closeEvent提供额外的参数?该参数将是另一个窗口的实例。这样我就可以在closeEvent的另一个函数中使用这个实例作为参数。下面是一个简化的代码。

代码语言:javascript
代码运行次数:0
运行
复制
class UiMain(QtWidgets.QMainWindow):
    def __init__(self, subwindow):
        super(UiMain, self).__init__()
        self.ui = Ui_UiArtikelkarte()
        self.ui.setupUi(self)
        self.show()

    def closeEvent(self, event, subwindow):
        some_function(self, source=subwindow)
        event.accept()


app = QtWidgets.QApplication(sys.argv)
win1 = UiMain(subwindow)
sys.exit(app.exec_())

当然,这给了我:

代码语言:javascript
代码运行次数:0
运行
复制
TypeError: closeEvent() missing 1 required positional argument: 'subwindow'

有什么方法可以给closeEvent额外的参数吗?如果能帮上忙,我会很感激的。

EN

回答 2

Stack Overflow用户

发布于 2019-01-31 18:01:02

由于您将额外的参数传递给构造函数,因此您可以只保存数据并将其显示在closeEvent方法上。

代码语言:javascript
代码运行次数:0
运行
复制
class UiMain(QtWidgets.QMainWindow):
    def __init__(self, test):
        super(UiMain, self).__init__()
        self.test = test
        self.ui = Ui_UiArtikelkarte()
        self.ui.setupUi(self)
        self.show()

    def closeEvent(self, event):
        print(self.test)
        event.accept()


app = QtWidgets.QApplication(sys.argv)
win1 = UiMain("hello")
sys.exit(app.exec_())
票数 0
EN

Stack Overflow用户

发布于 2019-01-31 18:21:23

我认为你必须将你的子窗口作为属性来传递:

代码语言:javascript
代码运行次数:0
运行
复制
class UiMain(QtWidgets.QMainWindow):
    def __init__(self, subwindow):
        super(UiMain, self).__init__()
        self.subwindow = subwindow
        self.ui = Ui_UiArtikelkarte()
        self.ui.setupUi(self)
        self.show()

    def closeEvent(self, event):
        some_function(self, source=self.subwindow)
        event.accept()


app = QtWidgets.QApplication(sys.argv)
win1 = UiMain(subwindow)
sys.exit(app.exec_())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54457733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档