【问题标题】:Deleting a QWidget when closed关闭时删除 QWidget
【发布时间】:2016-12-02 01:01:34
【问题描述】:

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

  1. 点击右上角的 X,或
  2. 点击QWidget窗口中的“完成”QPushButton

我想确保,当使用任一方法退出窗口时,QWidget 被删除。我相信我可以在第二种情况下通过将self.deleteLater() 添加到单击“完成QPushButton”时调用的函数来确保这一点,但我很难在第一种情况下看到如何做到这一点。

【问题讨论】:

    标签: pyqt pyside qwidget


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-11
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多