如何删除 PySide 创建的窗口?

Posted

技术标签:

【中文标题】如何删除 PySide 创建的窗口?【英文标题】:How to delete window created by PySide? 【发布时间】:2014-06-17 04:07:11 【问题描述】:

当我通过PySide创建窗口时,如何删除窗口? 我假设app.quit 将删除创建的窗口。但它不会删除窗口。

代码:

from PySide.QtGui import QApplication, QWidget
app = QApplication(sys.argv)
myWindow = QWidget()
myWindow.show() #create window
app.quit()      #delete window?

我是 PySide 和 GUI 编程的新手。这个问题是我在看 PySide 入门书的时候提出的。

谢谢。

【问题讨论】:

close它 @SirHacksalot 正确的做法,但提问者应该知道close 只是一个hide 而不是delete 如果属性QtCore.Qt.WA_DeleteOnClose 未设置。问题是删除。 @Sir Hacksalot:谢谢! app.close() 是我的希望! 【参考方案1】:

首先,不要忘记调用app.exec_() 来启动主循环。

现在回答您的问题:调用.hide() 方法,即myWindow.hide()。您可以使用.show() 方法使其再次显示。

我认为您会发现此文档很有用:http://qt-project.org/wiki/PySideDocumentation 还有其他类似教程的列表:http://qt-project.org/wiki/Category:LanguageBindings::PySide

您可能想先看看本教程:http://pythoncentral.org/series/python-pyside-pyqt-tutorial/。它非常深入,可能涵盖了您开始使用 PySide 和一般 GUI 编程所需的所有内容。祝你好运!

【讨论】:

我不知道为什么我需要打电话给app.exec_(),我会问它作为另一个问题。无论如何谢谢。

以上是关于如何删除 PySide 创建的窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PySide2 中添加边框或设置透明 QLayout?

如何创建一个新的窗口按钮 PySide/PyQt?

如何在 PyQt/PySide 中获取删除的文件名

如何使用线程自动关闭 PyQt/PySide 窗口?

如何完全删除窗口标题栏?

如何使用 PySide 导入主窗口(.ui 文件)