关闭时删除QWidget

时间:2016-07-27 20:38:05

标签: pyqt pyside qwidget

我有我的主应用程序QWindow,当我按下QPushButton时会弹出一个新的子窗口(QWidget)。退出QWidget窗口有两种方法:

  1. 点击右上角的X或
  2. 点击QPushButton窗口中的“已完成”QWidget
  3. 我想确保,当使用任一方法退出窗口时,QWidget将被删除。我相信我可以在第二种情况下通过在单击“完成self.deleteLater()时调用的函数添加QPushButton来确保这一点,但我很难在第一种情况下看到如何执行此操作。” / p>

1 个答案:

答案 0 :(得分:1)

您可以在窗口小部件上设置属性来执行此操作:

class Widget(QtGui.QWidget)
    def __init__(self, parent=None)
        super(Widget, self).__init__(parent)
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

您的“完成”按钮只需拨打self.close()(相当于点击标题栏关闭按钮)。