pyqt5 实现子窗口关闭 代码
时间: 2023-06-29 09:06:07 浏览: 351
可以通过以下代码实现子窗口关闭:
```python
from PyQt5.QtWidgets import QMainWindow, QMdiSubWindow, QApplication, QTextEdit, QAction
class SubWindow(QMdiSubWindow):
def __init__(self):
super().__init__()
self.widget = QTextEdit()
self.setWidget(self.widget)
self.setWindowTitle("SubWindow")
def closeEvent(self, event):
super().closeEvent(event)
print("SubWindow closed.")
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
sub_window = SubWindow()
self.mdi_area = self.createMdiArea()
self.mdi_area.addSubWindow(sub_window)
self.setCentralWidget(self.mdi_area)
exit_action = QAction("Exit", self)
exit_action.triggered.connect(QApplication.quit)
self.menuBar().addAction(exit_action)
def createMdiArea(self):
mdi_area = QMdiArea()
mdi_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
mdi_area.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
return mdi_area
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们创建了一个 `SubWindow` 类,继承自 `QMdiSubWindow`,并重写了 `closeEvent` 方法。在 `MainWindow` 中,我们创建了一个 `QMdiArea`,并将 `SubWindow` 添加到其中。当用户关闭子窗口时,`closeEvent` 方法会被调用,并打印一条消息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)