zoukankan      html  css  js  c++  java
  • 停靠窗口QDockWidget

    停靠窗口QDockWidget要和QMainWindow一起搭配使用的

    样式:

     1 import sys
     2 from PyQt5.QtCore import Qt
     3 from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget, QTextEdit
     4 
     5 
     6 class Demo(QMainWindow):#必须继承QMainWindow
     7     def __init__(self):
     8         super(Demo, self).__init__()
     9 
    10         self.dock1 = QDockWidget('Dock Window 1', self)#实例化一个停靠窗口【虚拟窗口】。参数1:停靠窗口的标题
    11         self.dock2 = QDockWidget('Dock Window 2', self)
    12         self.dock3 = QDockWidget('Dock Window 3', self)
    13 
    14 
    15         self.dock1.setAllowedAreas(Qt.RightDockWidgetArea | Qt.LeftDockWidgetArea)
    16         #设置停靠窗口的可停靠区域
    17         #Qt.LeftDockWidgetArea   可在左边停靠
    18         #Qt.RightDockWidgetArea   可在右边停靠
    19         #Qt.TopDockWidgetArea    可在顶部停靠
    20         #Qt.BottomDockWidgetArea    底部
    21         #Qt.AllDockWidgetAreas   全部区域
    22         #Qt.NoDockWidgetArea     不可停靠(将不显示Widget)
    23         self.dock2.setAllowedAreas(Qt.RightDockWidgetArea | Qt.TopDockWidgetArea)
    24         self.dock3.setAllowedAreas(Qt.NoDockWidgetArea)
    25 
    26         self.dock1.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable )
    27         #设置停靠窗口的功能属性
    28         #QDockWidget.DockWidgetClosable =0x01   可关闭停靠窗口
    29         #QDockWidget.DockWidgetMovable=0x02     停靠窗口可在停靠区域中进行移动
    30         #QDockWidget.DockWidgetFloatable=0x04   停靠窗口可与主窗口分离,以一种浮动的独立窗口显示
    31         #QDockWidget.DockWidgetVerticalTitleBar=0x08  在停靠窗口中的左侧显示一个标签栏。【标题栏放在左侧】
    32         #QDockWidget.AllDockWidgetFeatures   前三种的全部功能,即可关闭,可移动和可浮动。由于日后官方会往停靠窗口中加入更多新功能属性,所以请慎用该参数
    33         #QDockWidget.NoDockWidgetFeatures=0x00  停靠窗口无法被关闭,移动或以浮动状态显示
    34         self.dock2.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetClosable)
    35         self.dock3.setFeatures(QDockWidget.DockWidgetClosable )
    36 
    37 
    38         self.text1 = QTextEdit()
    39         self.text2 = QTextEdit()
    40         self.text3 = QTextEdit()
    41 
    42         self.dock1.setWidget(self.text1)  #给停靠窗口设置一个实际窗口(或控件)
    43         self.dock2.setWidget(self.text2)
    44         self.dock3.setWidget(self.text3)
    45         46         
    47         self.addDockWidget(Qt.RightDockWidgetArea, self.dock1)#在主窗口中添加停靠窗口
    48         #参数1:停靠窗口的起始位置
    49         #参数2:添加的停靠窗口
    50         self.addDockWidget(Qt.RightDockWidgetArea, self.dock2)
    51         self.addDockWidget(Qt.RightDockWidgetArea, self.dock3)
    52 
    53 
    54         self.center_text = QTextEdit()
    55         self.setCentralWidget(self.center_text)#设置中央控件
    56 
    57 
    58 if __name__ == '__main__':
    59     app = QApplication(sys.argv)
    60     demo = Demo()
    61     demo.show()
    62     sys.exit(app.exec_())
  • 相关阅读:
    Elasticsearch入门讲解
    NLP入门(九)词义消岐(WSD)的简介与实现
    NLP入门(八)使用CRF++实现命名实体识别(NER)
    NLP入门(七)中文预处理之繁简体转换及获取拼音
    NLP入门(六) pyltp的介绍与使用 转自:jclian91
    NLP入门(五)用深度学习实现命名实体识别(NER) 转自:jclian91
    NLP入门(四)命名实体识别(NER):jclian91
    NLP(三)词形还原(Lemmatization) 转自jclian91
    NLP(二)探究TF-IDF的原理(转自:jclian91)
    NLP(一)词袋模型及句子相似度(转自:jclian91)
  • 原文地址:https://www.cnblogs.com/liming19680104/p/10393883.html
Copyright © 2011-2022 走看看