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

样式:

 import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget, QTextEdit class Demo(QMainWindow):#必须继承QMainWindow
def __init__(self):
super(Demo, self).__init__() self.dock1 = QDockWidget('Dock Window 1', self)#实例化一个停靠窗口【虚拟窗口】。参数1:停靠窗口的标题
self.dock2 = QDockWidget('Dock Window 2', self)
self.dock3 = QDockWidget('Dock Window 3', self) self.dock1.setAllowedAreas(Qt.RightDockWidgetArea | Qt.LeftDockWidgetArea)
#设置停靠窗口的可停靠区域
#Qt.LeftDockWidgetArea 可在左边停靠
#Qt.RightDockWidgetArea 可在右边停靠
#Qt.TopDockWidgetArea 可在顶部停靠
#Qt.BottomDockWidgetArea 底部
#Qt.AllDockWidgetAreas 全部区域
#Qt.NoDockWidgetArea 不可停靠(将不显示Widget)
self.dock2.setAllowedAreas(Qt.RightDockWidgetArea | Qt.TopDockWidgetArea)
self.dock3.setAllowedAreas(Qt.NoDockWidgetArea) self.dock1.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetFloatable )
#设置停靠窗口的功能属性
#QDockWidget.DockWidgetClosable =0x01 可关闭停靠窗口
#QDockWidget.DockWidgetMovable=0x02 停靠窗口可在停靠区域中进行移动
#QDockWidget.DockWidgetFloatable=0x04 停靠窗口可与主窗口分离,以一种浮动的独立窗口显示
#QDockWidget.DockWidgetVerticalTitleBar=0x08 在停靠窗口中的左侧显示一个标签栏。【标题栏放在左侧】
#QDockWidget.AllDockWidgetFeatures 前三种的全部功能,即可关闭,可移动和可浮动。由于日后官方会往停靠窗口中加入更多新功能属性,所以请慎用该参数
#QDockWidget.NoDockWidgetFeatures=0x00 停靠窗口无法被关闭,移动或以浮动状态显示
self.dock2.setFeatures(QDockWidget.DockWidgetMovable | QDockWidget.DockWidgetClosable)
self.dock3.setFeatures(QDockWidget.DockWidgetClosable ) self.text1 = QTextEdit()
self.text2 = QTextEdit()
self.text3 = QTextEdit() self.dock1.setWidget(self.text1) #给停靠窗口设置一个实际窗口(或控件)
self.dock2.setWidget(self.text2)
self.dock3.setWidget(self.text3) self.addDockWidget(Qt.RightDockWidgetArea, self.dock1)#在主窗口中添加停靠窗口
#参数1:停靠窗口的起始位置
#参数2:添加的停靠窗口
self.addDockWidget(Qt.RightDockWidgetArea, self.dock2)
self.addDockWidget(Qt.RightDockWidgetArea, self.dock3) self.center_text = QTextEdit()
self.setCentralWidget(self.center_text)#设置中央控件 if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())

停靠窗口QDockWidget的更多相关文章

  1. Qt5—嵌入停靠窗口QDockWidget

    参考链接:http://blog.csdn.net/summer_xiyer/article/details/12875899 新建一个GUI工程: QDockWidget是QWidget的子类,也等 ...

  2. PyQt主窗体设置停靠窗口(QDockWidget)的叠加顺序

    PyQt提供了方便的停靠窗口控件,我们可以很方便的编写一个停靠窗口,代码和效果如下: # -*- coding: utf-8 -*-from PyQt4 import QtGui, QtCore cl ...

  3. Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)

    转载:好儿郎~志在四方 详细描述: QDockWidget类提供了一个窗体部件,其可以停靠在QMainWindow,或其本身作为一个在桌面上的顶级窗口(也就是父窗体). QDockWidget类提供了 ...

  4. Qt5布局管理(二)——QDockWidget停靠窗口类

    转载:LeeHDsniper 停靠窗口类QDockWidget 实例效果 如右图所示,左半部分MainWindow是该窗口的中心窗口,右边的最下面两个停靠窗口可以跳出该窗口: 但是第一个停靠窗口只能停 ...

  5. Python+PyQt5:停靠组件QDockWidget的实现

    QMainWindow主窗体中放置停靠组件QDockWidget的实现流程: 第一步:创建QMainWindow窗体,这是承载QDockWidget的主体 第二步:创建QDockWidget组件实例, ...

  6. MFC的停靠窗口中插入对话框,在对话框中添加控件并做控件自适应

    单文档程序添加了停靠窗口后,可能会在停靠窗口中添加一些控件.在这里我的做法是在对话框上添加控件并布局,然后将这个对话框插入到停靠窗口中. 步骤 1.插入对话框,在对话框中放入控件(我的为树形控件),并 ...

  7. MFC停靠窗口实现(CDockablePane)

    工作中编写MFC界面程序时用到了停靠窗口,为了避免之后用到时再去查询,这里记录下. 步骤 1.定义一个继承自CDockablePane的类 Class CDockableTest : public C ...

  8. QT子窗口及停靠实现

    Demo的效果 头文件中的变量声明 //退出动作 QAction* exit; //菜单栏菜单 QMenu* filemenu; QMenu* actiona; //在状态栏的标签控件 QLabel* ...

  9. Qt5布局管理(一)——QSplitter分割窗口类

    转载:LeeHDsniper 概述 本文首先通过三个实例分别介绍Qt5的分割窗口QSplitter类.停靠窗口QDockWidget类.堆栈窗体QStackedWidget类,然后介绍布局管理器的使用 ...

随机推荐

  1. jmeter 参数化测试

    变量的值可以不改变,可以被定义一次,如果不使用,不会改变值. 在测试计划中,变量可以做为方便的频繁使用的表达式,或都作为在测试运行中的可能会改变的常量,例如 线程组中线程的数量.主机名称 在确定一个测 ...

  2. Java之静态代码块

    有一些情况下,有些代码需要在项目启动的时候就执行,则需要使用静态代码块,这种代码是主动执行的.Java中的静态代码块是在虚拟机加载类的时候,就执行的,而且只执行一次.如果static代码块有多个,JV ...

  3. JS中var声明与function声明两种函数声明方式的区别

    JS中常见的两种函数声明(statement)方式有这两种: // 函数表达式(function expression) var h = function() { // h } // 函数声明(fun ...

  4. 一对一 只需将另一个表的id设置为主键和外键即可

    一对一 只需将另一个表的id设置为主键和外键即可 

  5. luogu1856

    P1856 [USACO5.5]矩形周长Picture 题目背景 墙上贴着许多形状相同的海报.照片.它们的边都是水平和垂直的.每个矩形图片可能部分或全部的覆盖了其他图片.所有矩形合并后的边长称为周长. ...

  6. 安卓创始人计划推出能帮你约会的AI手机

    安卓操作系统的创始人安迪·鲁宾早些年已经离开谷歌公司,离开谷歌后鲁宾成立Essential  Phone手机品牌.不过正如你所知道的那样尽管安迪·鲁宾有着很大的名气,但Essential  Phone ...

  7. 使用vscode 编写Markdown文件

    markdown简单语法参考下面简单事例: # 一级标题 1. 有序列表1 >1. 有序列表1 >>- *test1* >>- **test2** >>- * ...

  8. iOS程序的启动执行顺序

    1 程序的入口 进入main函数, 设置AppDelegate称为函数的代理 2  程序完成加载 -[AppDelegate application:didFinishLaunchingWithOpt ...

  9. Borg Maze POJ - 3026 (BFS + 最小生成树)

    题意: 求把S和所有的A连贯起来所用的线的最短长度... 这道题..不看discuss我能wa一辈子... 输入有坑... 然后,,,也没什么了...还有注意 一次bfs是可以求当前点到所有点最短距离 ...

  10. Asp.net与office web apps的整合

    其实网上有关office web app的整合已经有相关的文章了,典型的是如何整合Office Web Apps至自己开发的系统(一) 和如何整合Office Web Apps至自己开发的系统(二), ...