凌的博客

您现在的位置是: 首页 > 学无止境 > python > 

python

PyQt5 DockWidget组件

2019-09-05 python 2678

QDoCKWidget类中的常用方法

方法描述
setWidget()在Dock窗口区域设置QWidget
setFloating()设置Dock窗口是否可以浮动,如果设置为True,则表示可以浮动
setAlllowedAreas()设置窗口可以停靠的区域

LeftDockWidgetArea:左侧停靠区域

RightDockWidgetArea:右侧停靠区域

TopDockWidgetArea:顶部停靠区域

BottomDockWidgetArea:底部停靠区域

NoDockWidgetArea:不显示Widget
setFearures()设置停靠窗口的功能属性

DockWidgetClosable:可关闭

DockWidgetMovable:可移动

DockWidgetFloatable:可漂浮

DockWidgetVerticalTitleBar:在左边显示垂直的标签栏

AllDockWidgetFeatures:具有前三种属性的所有功能

NoDockWidgetFeatures:无法关闭,不能悬浮,不能移动

QDoCKWidget实例

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QDockWidget,QDesktopWidget,QHBoxLayout,QVBoxLayout,QListWidget,QTextEdit
from PyQt5.QtCore import Qt

class Dock(QMainWindow):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):

        h = QHBoxLayout()

        bar = self.menuBar()
        file = bar.addMenu("File")
        file.addAction("File")
        file.addAction("New")
        file.addAction("Save")
        file.addAction("quit")

        self.items = QDockWidget("Dockable",self)

        self.listWidget = QListWidget()
        self.listWidget.addItem("item 1")
        self.listWidget.addItem("item 2")
        self.listWidget.addItem("item 3")
        self.listWidget.addItem("item 4")

        # 在窗口区域设置QWidget,添加列表控件
        self.items.setWidget(self.listWidget)
        # 设置dock窗口是否可以浮动,True,运行浮动在外面,自动与主界面脱离,False,默认浮动主窗口内,可以手动脱离
        self.items.setFloating(False)


        self.setCentralWidget(QTextEdit(""))
        self.addDockWidget(Qt.RightDockWidgetArea,self.items)

        self.setGeometry(300,300,500,300)
        self.center()
        self.setWindowTitle("Dock Widget")

    def center(self):
        qr = self.frameGeometry()
        cp = QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = Dock()
    ex.show()
    sys.exit(app.exec_())

2.jpg

文章评论

0条评论