pyqt 打开新的QDialog后 QDialog自己退出
时间: 2023-08-06 11:07:55 浏览: 82
qt退出对话框
4星 · 用户满意度95%
可能是因为您在打开新的 `QDialog` 时,没有正确地管理它的生命周期,导致旧的 `QDialog` 实例被隐式销毁。
为了解决这个问题,您可以考虑使用 `QDialog` 的 `setAttribute` 方法来设置 `Qt.WA_DeleteOnClose` 属性,这样当 `QDialog` 关闭时,它会自动被销毁。同时,确保在打开新的 `QDialog` 时,使用 `QDialog` 的 `exec_` 方法而不是 `show` 方法,以确保 `QDialog` 能够正确地管理其生命周期。
以下是一个示例代码片段,演示了如何正确地打开和关闭 `QDialog`:
```
dialog = QDialog()
dialog.setAttribute(Qt.WA_DeleteOnClose) # 设置自动销毁
dialog.exec_() # 使用 exec_() 方法打开 QDialog
```
希望这可以帮助您解决问题!
阅读全文