方法 | 描述 |
---|---|
setWidget() | 在Dock窗口区域设置QWidget |
setFloating() | 设置Dock窗口是否可以浮动,如果设置为True,则表示可以浮动 |
setAllowedAreas() | 设置窗口可以停靠的区域 ●LeftDockWidgetArea:左边停靠区域 ●RightDockWidgetArea:右边停靠区域 ●TopDockWidgetArea:顶部停靠区域 ●BottomDockWidgetArea:底部停靠区域 ●NoDockWidgetArea:不显示Widget |
setFeatures() | 设置停靠窗口的功能属性: ●DockWidgetClosable:可关闭 DockWidgetMovable:可移动 ●DockWidgetFloatable:可浮动 ●DockWidgetVerticalTitleBar:在左边显示垂直的标签栏 ●AllDockWidgetFeatures:具有前三种属性 ●NoDockWidgetFeatures:无法关闭,不能移动,不能浮动 |
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
class MyDockDemo(QMainWindow):
def __init__(self, parent=None):
super(MyDockDemo, self).__init__(parent)
layout = QHBoxLayout()
bar = self.menuBar()
file = bar.addMenu("File")
file.addAction("New")
file.addAction("Save")
file.addAction("Quit")
self.items = QDockWidget("Dockable", self)
self.listWidget = QListWidget()
self.listWidget.addItem("item1")
self.listWidget.addItem("item2")
self.listWidget.addItem("item3")
self.items.setWidget(self.listWidget)
self.items.setFloating(False)
self.setCentralWidget(QTextEdit("Hello World!"))
self.addDockWidget(Qt.RightDockWidgetArea, self.items)
self.setLayout(layout)
self.setWindowTitle("Dock Demo")
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MyDockDemo()
win.show()
sys.exit(app.exec_())