Qt(Python+Qt)QMainWindow的splitDockWidget方法将QDockWidget停靠窗分割排列

news2024/10/6 22:30:50

主窗口的splitDockWidget方法用于将一个停靠窗占据的空间分割成两部分,原有停靠窗放置在第一部分的区域,另一个停靠窗放置在第二部分的区域。调用语法:

splitDockWidget( QDockWidget first, QDockWidget second, Qt.Orientation orientation)

说明:

  • orientation:指定分割方向,是水平分隔还是垂直分隔,如果水平分隔,则这两个停靠窗水平方向并列,first在左second在右,如果是垂直分隔,则两个停靠窗上下排列,first在上second在下
  • 如果第一个停靠窗已经是选项卡化停靠窗,则第二个停靠窗将作为新选项卡添加,而不是作为第一个的邻居,这是因为单个选项卡只能包含一个停靠部件,此时splitDockWidget的效果与tabifyDockWidget效果相同
  • splitDockWidget实际使用时更多的是用于排列相关停靠窗口使用,也即对停靠窗口通过代码进行排列调整

案例:

要将ui设计的一个如下垂直布局的主窗口界面:

 上面ui中用了三个停靠窗,从上到下分别为d3、d2、d1。如果将它们排列成一个如下的界面:

代码如下:

1     self.addDockWidget(QtCore.Qt.TopDockWidgetArea, self.d1)
2     self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.d2)
3     self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.d3)

如果要将其设计成一个如下运行的界面:

代码如下:

1         self.addDockWidget(QtCore.Qt.TopDockWidgetArea, self.d1)
2         #self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.d2)
3         #self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.d3)
4 
5         self.splitDockWidget(self.d1, self.d2,Qt.Vertical)
6         self.splitDockWidget(self.d2,self.d3,Qt.Horizontal)

注意:上面代码中注释的语句与不注释效果一样。

上面两种不同的界面效果,第一个因为没有采用分隔排列,但d2、d3分别放置在左边和右边,由于布局的缘故,占了下面所有的空间,而第二种方式采用了分割,d3分割了d2的空间,因此二者没有占满整个主窗口的空间。

其实上面两个例子还不能完整体现splitDockWidget的作用,因为停靠窗少了点,如果停靠窗很多,排列更复杂的排列,就能发挥splitDockWidget的功用。

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/47025.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

疫情下就业形势怎样?存在抗衰行业吗?

三年的疫情下,全球各国的经济都受到了重要影响。特别是今年以来,国际形势复杂严峻,国内疫情点、面频发,对经济运行的冲击和影响加大。 这一场持续三年的疫情,给很多正常人的工作和生活都带来了不确定性,也给…

转扩!寻找G2022次列车“旅客”

各位求职朋友大家好,欢迎乘坐G2022次列车 本次列车为6节编组,由上海开往北京,途径宁波、重庆 本次列车乘务组全体工作人员为您提供全方位福利待遇 上车地址:上海擎创信息技术有限公司 - 社会招聘 (eoitek.com) 如您还需其他帮助…

架构体系-黑马学习2:-业务幂等性技术架构体系(1)

25min 以下涉及到的都是一人操作时候,多次点击造成的并发,对幂等性问题的影响。 大多适用场景,都是单表。没有兼顾数据库分库分表分区场景。 幂等性定义:无论对某一个资源操作了多少次,其影响都应该是相同的。换句话…

Kepserver EX6配置opc ua服务端 以及客户端

一.Kepserver EX6下载 链接:https://pan.baidu.com/s/1zNr-J0vmBdu9qmI1GtXxrw 提取码:wqcl 二.Kepserver EX6安装 点击安装包》选择“简体中文语言包”》一直默认下一步就可以直到结束安装 下载包中有破解补丁的详细使用说明这里就不多做说明了 下面…

《联邦学习实战—杨强》之使用Python从零开始实现一个简单的横向联邦学习模型

文章目录前言环境准备完整代码配置文件(conf.json)获取数据集(datasets.py)获取PyTorch中自带深度学习网络预训练模型(models.py)客户端(client.py)服务端(server.py)main.py运行知识点补充argparse基本用法tensor.copy_()[Python dict() 函数](https://www.runoob.com/python/…

Redis——》数据类型:zset(有序集合)

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Redis——》数据类型:zset(有序集合)一、…

基于SpringBoot的在线点餐系统【附源码】

功能模块设计 技术概要 前端技术:JQuery,Thymeleaf, CSS 后端技术:SpringBoot,SpringMVC,mybaits 数据库:mysql 主要功能 首页实现 主页也是网址的入口处,一般包括了:LOGO、导航、Banner、…

C指针之初始化(三)

一、引言 C/C语言中引入了指针,使得程序能够直接访问内存地址,使得很多复杂的操作变得简单,同时也提高了程序的运行效率。指针即是地址,但是地址却是通过指针变量来存储的。因此我们通常所说的指针在很多时候说的都是指针变量。指…

AzkabanExecutorServer自动注册分析

启动AzkabanExecutorServer发现会自动注册,但是active默认为0,需要修改为1,否则 SELECT id, host, port, active FROM executors where activetrue查询不到记录,导致 AzkabanWebServer启动时候还是失败。 因此azkaban的正确启动…

MySQL的行锁和表锁

锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题&am…

复现黑客在后门中藏匿后门

PHP实现在后门中藏匿后门 在攻击渗透的时候会传入shell后门方便进行远控。其中的后门包括多种类型,大马是功能最全的直接提供了可视化的界面方便攻击者进行提权、扫描、上传等一系列的操作。 但有很多hacker不讲武德,在写好的大马中藏入自己的后门&…

Java#28(集合进阶1---单列集合)

目录 一.Collection---------单列集合-------一次只能添加一个元素,如: 小明 1.Collection的常用方法 2.Collection的遍历 迭代器遍历 增强for遍历 Lambda表达式 3.List集合的特有方法 List集合的5种遍历方式 ArrayList集合 泛型 4.Set的方法和遍历方式 HashSet集合 …

如何用看板工具做轻量级项目管理

本文分享一下,怎么用看板工具做轻量级项目管理。 说起管理项目,会遇到各种各样的事情,我们多多少少有些头疼,人员任务分配不均,对接不及时,沟通过不及时等等。 我们包括采购、人力资源、销售、市场都在用…

【深度学习】torch.squeeze()移除维度函数 | torch.unsqueeze()增加某一维度函数 | pytorch

文章目录前言一、torch.squeeze()函数二、torch.unsqueeze()函数前言 这两个函数在pytorch框架下的深度学习经常用到,这次把它们记录一下。 一、torch.squeeze()函数 torch.squeeze()用来“挤”掉某一个维度为1的维度,或者所有维度为1的维度。&#x…

Unity3D教程:布娃娃系统

首先,将你3Dsmax的角色和Bipes汇出成FBX档,设定如下即可。(注意不可以有中文路径喔否则无法正确汇出) 打开Unity3D, 可以看见我的场景内只有:摄影机、人物(Man)、灯光、地板。 在Hierarchy视窗内将人物(Man)的Bip01所有标签打开&a…

WebRTC学习笔记一 简单示例

一、捕获本地媒体流getUserMedia 1.index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-e…

基于预训练模型的Unet【超级简单】【懒人版】【Pytorch版】

基于预训练模型的Unet【超级简单】【懒人版】【Pytorch版】 在本项目开始前&#xff0c;首先给大家保证&#xff0c;本次项目只是一个最简单的Unet实现&#xff0c;使用现成的代码&#xff0c;不需要手写代码&#xff0c;使用预训练模型&#xff0c;不需要标注数据集和训练。所…

NTFS及文件共享

一&#xff0c;NTFS安全权限概述 1、给文件和文件夹设置权限&#xff0c;通过设置权限&#xff0c;实现不同的用户访问不同文件和文件夹的权限。 2、分配了正确的访问权限后&#xff0c;用户才能访问对应资源。 3、设置权限防止资源被篡改、删除。 二、文件系统概述 文件系统…

[附源码]Python计算机毕业设计SSM旅游服务平台(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Whistle 前端抓包

whistle文档&#xff1a;http://wproxy.org/whistle/install.html 1.确保电脑安装了node node -v如果能正常输出Node的版本号&#xff0c;表示Node已安装成功 2.安装whistle npm install -g whistlewhistle安装完成后&#xff0c;执行命令 whistle help 或 w2 help&#xf…