停靠窗口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. 破解xlsm文件的VBA项目密码和xlsx的工作簿保护密码

    工具 待破解的xlsm文件.Excel2010.Hex Editor 步骤 1.修改.xlsm后缀为.zip 2.使用压缩软件打开,进入xl目录找到vbaProject.bin文件,解压出来 3.使用 ...

  2. spring学习总结(一)_Ioc基础(上)

    最近经历了许许多多的事情,学习荒废了很久.自己的目标成了摆设.现在要奋起直追了.最近发现了张果的博客.应该是一个教师.看了他写的spring系列的博客,写的不错.于是本文的内容参考自他的博客,当然都是 ...

  3. Java多线程之原子性 volatile、atomicInteger测试

    原文链接:http://www.cnblogs.com/zhengbin/p/5653051.html 一.补充概念 1.什么是线程安全性? <Java Concurrency in Pract ...

  4. CF527D

    题面 这题还挺水的,把那个式子稍微变形一下就可以的到xi-wi>=xj+wj,易知:若把每个点看做一条线段,左端点是xi-wi,右端点是xi+wi,就只要求最多的不重叠的线段数就可以了,然后就是 ...

  5. BZOJ2959长跑——LCT+并查集(LCT动态维护边双连通分量)

    题目描述 某校开展了同学们喜闻乐见的阳光长跑活动.为了能“为祖国健康工作五十年”,同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动.一时间操场上熙熙攘攘,摩肩接踵,盛况空前. 为 ...

  6. cf1063B Labyrinth (bfs)

    可以证明,如果我搜索的话,一个点最多只有两个最优状态:向左剩余步数最大时和向右剩余步数最大时 然后判一判,bfs就好了 dfs会T惨... #include<bits/stdc++.h> ...

  7. Red Hat 6.3安装gcc gc++

    首先安装gcc需要相应的rpm依赖包,在安装系统的镜像文件中就有这些rpm包 首先在光驱中选择系统的安装包载入 如果桌面显示有如下的光驱 说明是已经载入了镜像,这时候,需要挂载一下镜像到mnt目录 先 ...

  8. 使用gdb+core查看错误信息

    core的使用Linux下core文件调试方法 ulimit -c xxx可以设置core文件的大小 proc/sys/kernel/core_pattern可以控制core文件保存位置和文件名格式. ...

  9. (二维数组 亿进制 或 滚动数组) Hat's Fibonacci hdu1250

    Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  10. Java设计模拟菜单

    /***** * 设计一个模拟使用菜单的dos应用程序,用户可进行选择,选择错误时重新选择. * @author yanlong * 2017/5/5 */package java3;import j ...