【发布时间】:2020-12-17 16:39:10
【问题描述】:
下面的剪辑显示通过拖动选项卡(而不是标题栏)在停靠区域之间拖动 QDockWidgets - 但是当我使用 PyQt 5.15.0 尝试此操作时,它不起作用,选项卡不会分离。如何启用此行为?
我想要什么:
https://www.screencast.com/t/lv83SoyVUhbd(来自https://woboq.com/blog/qdockwidget-changes-in-56.html)
我得到了什么:
https://www.screencast.com/t/bIUj4vLNTF
我的代码:
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
if __name__ == "__main__":
app = QtWidgets.QApplication([])
main = QtWidgets.QMainWindow()
dock1 = QtWidgets.QDockWidget("Blue")
dock2 = QtWidgets.QDockWidget("Green")
dock3 = QtWidgets.QDockWidget("Red")
content1 = QtWidgets.QWidget()
content1.setStyleSheet("background-color:blue;")
content2 = QtWidgets.QWidget()
content2.setStyleSheet("background-color:green;")
content3 = QtWidgets.QWidget()
content3.setStyleSheet("background-color:red;")
dock1.setWidget(content1)
dock2.setWidget(content2)
dock3.setWidget(content3)
dock1.setAllowedAreas(Qt.AllDockWidgetAreas)
dock2.setAllowedAreas(Qt.AllDockWidgetAreas)
dock3.setAllowedAreas(Qt.AllDockWidgetAreas)
main.addDockWidget(Qt.LeftDockWidgetArea, dock1)
main.tabifyDockWidget(dock1, dock2)
main.addDockWidget(Qt.RightDockWidgetArea, dock3)
main.resize(400, 200)
main.show()
app.exec_()
【问题讨论】: