关闭时删除 QWidget
Deleting a QWidget when closed
我有我的主应用程序 QWindow
,当我按下 QPushButton 时,会弹出一个新子 window(QWidget
)。 QWidget
window有两种退出方式:
- 单击右上角的 X,或者
- 点击'Finished'
QPushButton
我在QWidget
window.
我想确保,当使用任何一种方法退出 window 时,QWidget
都会被删除。我相信在第二种情况下,我可以通过将 self.deleteLater()
添加到单击“已完成 QPushButton
时调用的函数来确保这一点,但我正在努力了解如何在第一种情况下执行此操作。
您可以在小部件上设置一个属性来执行此操作:
class Widget(QtGui.QWidget)
def __init__(self, parent=None)
super(Widget, self).__init__(parent)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
然后您的 "Finished" 按钮只需调用 self.close()
(相当于单击标题栏关闭按钮)。
我有我的主应用程序 QWindow
,当我按下 QPushButton 时,会弹出一个新子 window(QWidget
)。 QWidget
window有两种退出方式:
- 单击右上角的 X,或者
- 点击'Finished'
QPushButton
我在QWidget
window.
我想确保,当使用任何一种方法退出 window 时,QWidget
都会被删除。我相信在第二种情况下,我可以通过将 self.deleteLater()
添加到单击“已完成 QPushButton
时调用的函数来确保这一点,但我正在努力了解如何在第一种情况下执行此操作。
您可以在小部件上设置一个属性来执行此操作:
class Widget(QtGui.QWidget)
def __init__(self, parent=None)
super(Widget, self).__init__(parent)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
然后您的 "Finished" 按钮只需调用 self.close()
(相当于单击标题栏关闭按钮)。