pyqt5 子窗口关闭释放
时间: 2023-08-16 18:06:16 浏览: 237
在 PyQt5 中,当子窗口关闭时,可以通过调用 `QWidget.close()` 方法来关闭窗口,并且该窗口会被自动释放。以下是一个示例代码,展示如何在子窗口关闭时释放它:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton
class ChildWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Child Window")
self.setGeometry(100, 100, 300, 200)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Main Window")
self.setGeometry(100, 100, 500, 400)
self.child_window = ChildWindow()
self.child_window.destroyed.connect(self.on_child_window_destroyed)
button = QPushButton("Open Child Window", self)
button.clicked.connect(self.open_child_window)
button.move(50, 50)
def open_child_window(self):
self.child_window.show()
def on_child_window_destroyed(self):
print("Child window has been destroyed")
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在上面的示例中,当点击 "Open Child Window" 按钮时,会打开一个子窗口。当子窗口关闭时,会触发 `on_child_window_destroyed` 方法,你可以在该方法中进行一些释放资源的操作。
希望这个示例对你有帮助!如果你对其他问题有任何疑问,请随时提问。
阅读全文