pyqt6 怎么判断窗口被删除/销毁
时间: 2024-09-06 09:01:55 浏览: 40
PyQt6窗口多种组件样式美化 调整窗口皮肤外观
在PyQt6中,窗口被删除或销毁通常可以通过连接到QWindow的`destroyed`信号来判断。这个信号会在窗口对象被销毁时发出。你可以通过重写窗口的`closeEvent`方法来实现对窗口销毁事件的处理,也可以通过检查窗口对象是否存在于内存中来判断。
以下是一个简单的例子来展示如何实现这个功能:
```python
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt6 Window Close Example')
# 连接窗口销毁信号到自定义的槽函数
self.destroyed.connect(self.handle_destroyed)
def handle_destroyed(self):
print("窗口已被销毁")
app = QApplication(sys.argv)
window = MainWindow()
window.show()
# 模拟窗口销毁过程,例如通过用户关闭窗口
sys.exit(app.exec())
```
在这个例子中,`MainWindow` 类重写了`handle_destroyed` 方法,当窗口被销毁时,会自动调用这个方法。
阅读全文