pyqt如何将QDockWidget和Tab Widget放在MainWindow不同地方
时间: 2024-05-12 14:16:20 浏览: 88
可以使用QMainWindow中的QDockWidget来实现该功能,具体步骤如下:
1.创建一个QMainWindow
2.创建一个QTabWidget并设置其布局
3.创建QDockWidget并设置其内容
4.将QDockWidget添加到QMainWindow中的指定位置
完整代码示例如下:
```
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QDockWidget, QTextEdit, QVBoxLayout
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个QTabWidget并设置其布局
tab_widget = QTabWidget(self)
tab1 = QTextEdit()
tab2 = QTextEdit()
tab_widget.addTab(tab1, "Tab 1")
tab_widget.addTab(tab2, "Tab 2")
layout = QVBoxLayout()
layout.addWidget(tab_widget)
# 创建QDockWidget并设置其内容
dock = QDockWidget("Dock Widget", self)
dock_contents = QTextEdit()
dock.setWidget(dock_contents)
# 将QDockWidget添加到QMainWindow中的指定位置
self.addDockWidget(1, dock)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
在此示例中,我们创建了一个QMainWindow,并将QDockWidget添加到左侧(位置1)以容纳QTextEdit。我们还创建了一个QTabWidget并在其中添加了两个QTextEdit。最后,我们将QTabWidget添加到主窗口中并设置其布局。
阅读全文