pyqt5 在主窗口激活子窗口
时间: 2023-09-14 22:11:32 浏览: 149
您可以使用`QMainWindow`的`addDockWidget`方法将子窗口添加到主窗口中。然后,您可以使用`QDockWidget`的`setVisible`方法在需要时将子窗口显示出来。以下是一个示例:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget, QTextEdit, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个文本编辑器
self.text_edit = QTextEdit(self)
self.setCentralWidget(self.text_edit)
# 创建一个按钮,点击时显示子窗口
self.button = QPushButton('Show Sub Window', self)
self.button.clicked.connect(self.show_sub_window)
self.addToolBar(self.button)
# 创建一个子窗口,并添加到主窗口中
self.sub_window = QDockWidget('Sub Window', self)
self.sub_window.setWidget(QTextEdit())
self.addDockWidget(1, self.sub_window)
def show_sub_window(self):
# 显示子窗口
self.sub_window.setVisible(True)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个示例中,我们创建了一个主窗口,其中包含一个文本编辑器和一个工具栏。我们还创建了一个子窗口,并将其添加到主窗口中。当用户单击工具栏上的按钮时,子窗口将显示出来。注意,我们使用了`setVisible`方法来控制子窗口的可见性。
阅读全文