pyqt5 建立子窗口
时间: 2024-05-14 15:11:09 浏览: 10
在 PyQt5 中,可以使用 QMdiArea 和 QMdiSubWindow 类来实现子窗口的创建。具体步骤如下:
1. 创建一个主窗口,并在其中添加 QMdiArea 控件,代码如下:
```python
from PyQt5.QtWidgets import QMainWindow, QMdiArea
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 QMdiArea 控件
mdi = QMdiArea()
self.setCentralWidget(mdi)
```
2. 创建一个子窗口,并将其添加到 QMdiArea 控件中,代码如下:
```python
from PyQt5.QtWidgets import QAction, QMdiSubWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 QMdiArea 控件
mdi = QMdiArea()
self.setCentralWidget(mdi)
# 创建子窗口
subwindow = QMdiSubWindow()
subwindow.setWindowTitle('Subwindow')
mdi.addSubWindow(subwindow)
```
3. 在子窗口中添加控件,代码如下:
```python
from PyQt5.QtWidgets import QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 QMdiArea 控件
mdi = QMdiArea()
self.setCentralWidget(mdi)
# 创建子窗口
subwindow = QMdiSubWindow()
subwindow.setWindowTitle('Subwindow')
mdi.addSubWindow(subwindow)
# 在子窗口中添加控件
label = QLabel('Hello World', subwindow)
label.move(50, 50)
```
4. 最后,显示主窗口,代码如下:
```python
import sys
from PyQt5.QtWidgets import QApplication
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
关于 pyqt5 建立子窗口的更多细节,可以查看 PyQt5 的官方文档。