在QSplitter里添加可动QDockWidget
时间: 2024-01-08 18:16:15 浏览: 33
可以通过以下步骤在QSplitter中添加可动的QDockWidget:
1. 创建QSplitter和QDockWidget对象:
```
splitter = QSplitter(Qt.Horizontal)
dock1 = QDockWidget("Dock 1", self)
dock2 = QDockWidget("Dock 2", self)
```
2. 将QDockWidget添加到QSplitter中:
```
splitter.addWidget(dock1)
splitter.addWidget(dock2)
```
3. 将QDockWidget设置为可动:
```
dock1.setFeatures(QDockWidget.DockWidgetMovable)
dock2.setFeatures(QDockWidget.DockWidgetMovable)
```
完整示例代码:
```
from PyQt5.QtWidgets import QApplication, QMainWindow, QSplitter, QDockWidget, QTextEdit
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
splitter = QSplitter(Qt.Horizontal)
dock1 = QDockWidget("Dock 1", self)
dock2 = QDockWidget("Dock 2", self)
textEdit = QTextEdit()
dock1.setWidget(QTextEdit())
dock2.setWidget(QTextEdit())
splitter.addWidget(dock1)
splitter.addWidget(dock2)
dock1.setFeatures(QDockWidget.DockWidgetMovable)
dock2.setFeatures(QDockWidget.DockWidgetMovable)
self.setCentralWidget(splitter)
self.setGeometry(200, 200, 800, 600)
self.show()
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
app.exec_()
```