pyqt5当子窗口显示时主窗口隐藏
时间: 2023-07-19 08:39:25 浏览: 194
PyQt5实现从主窗口打开子窗口的方法
5星 · 资源好评率100%
当子窗口显示时,可以使用`hide()`方法隐藏主窗口。具体实现代码如下:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton
class ChildWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle('Child Window')
self.resize(200, 100)
def closeEvent(self, event):
# 显示主窗口
self.parent().show()
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Main Window')
self.resize(400, 300)
self.btn = QPushButton('Open Child Window', self)
self.btn.clicked.connect(self.open_child_window)
def open_child_window(self):
# 隐藏主窗口
self.hide()
child = ChildWindow(self)
child.show()
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在上面的例子中,子窗口类`ChildWindow`重写了`closeEvent`方法,在关闭子窗口时会触发该方法,从而显示主窗口。在主窗口类`MainWindow`中,点击按钮会打开一个子窗口并隐藏主窗口。
阅读全文