QDockWidget停靠窗口案例
该控件简介参考:https://blog.csdn.net/seniorwizard/article/details/109839219
案例1
说明:在mainwindow的顶部,底部,左右部,添加dockwidget,工具栏可以显示和隐藏dockwidget。顶部没有写信号。
代码
import sys
from PySide6.QtCore import Qt
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QMainWindow, QWidget, QHBoxLayout, QApplication, QDockWidget, QLabel, QToolBar
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.resize(1024, 600)
self.setWindowTitle('Main window')
# 中心控件
self.center_widget = QWidget()
# 中心控件布局
self.center_widget_layout = QHBoxLayout()
# 将布放置到中心控件上
self.center_widget.setLayout(self.center_widget_layout)
# 将中心控件放置到主窗口内
self.setCentralWidget(self.center_widget)
self._tool_box()
self._dock_widget()
self._dock2_widget()
self._dock3_widget()
self._dock4_widget()
def _tool_box(self):
self.tool1 = QToolBar()
self.addToolBar(self.tool1) # 添加工具栏
self.action1 = QAction('dock1显示')
self.action2 = QAction('dock1隐藏')
self.action3 = QAction('dock2显示')
self.action4 = QAction('dock2隐藏')
self.action5 = QAction('dock3显示')
self.action6 = QAction('dock3隐藏')
self.action1.triggered.connect(lambda: sel