PyQt(Python+Qt)学习随笔:containers容器类部件QMdiArea多文档界面的QMdiSubWindow子窗口相关属性和操作方法

Qt之容器控件(QMdiArea) 简述 QMdiArea(Multiple Document Interface Area)提供了一个可以同时显示多个文档窗口的区域。 本质上来说,QMdiArea就像是多文档窗口的窗口管理器。例如,它将它所管理的窗口绘制在它上面,并且以级联或者平铺的方式放置这些窗口。通常情况下,QMdiArea用作QMainWindow的中心控件,以此来创建一个MDI应用程序。但是,它也可以被放置在任何布局类中。... 阅读详情
1、增加子窗口

QMdiArea中的子窗口类型是QMdiSubWindow的实例,但可以使用addSubWindow()方法将任何QWidget或其派生类的实例添加到MDI区域作为子窗口,此时QMdiArea会自动创建子窗口的QMdiSubWindow实例,并作为addSubWindow()方法的结果返回。

2、子窗口数量

QMdiArea中的子窗口数量无法直接通过QMdiArea方法获取,必须先通过方法subWindowList()返回所有子窗口的列表,再通过Python的len函数获取子窗口的数量。

3、子窗口排序和排列

subWindowList()返回的子窗口列表是排序的,有三种排序方式,通过属性activationOrder来控制,排序方式由枚举类型QMdiArea.WindowOrder指定,可通过Designer中就可以设置的属性activationOrder来指定。当使用cascadeSubWindows()和tileSubWindows()层叠或平铺方式来排列区域内的窗口时,也会使用该排序。

4、活动子窗口

子窗口在获得键盘焦点或调用setFocus()时变为活动状态,用户通过以通常的方式移动焦点来激活窗口。当活动窗口更改时,MDI区域会发出subWindowActivated()信号,active subwindow()函数会返回活动子窗口,槽方法setActiveSubWindow(QMdiSubWindow window)在切换活动窗口时调用。

5、移除和关闭子窗口

可以通过removeSubWindow(QWidget widget)移除指定子窗口实例,也也可以通过调用槽方法closeAllSubWindows()、closeActiveSubWindow()来关闭子窗口,可以重写这两个方法对子窗口关闭进行相关处理。

老猿Python,跟老猿学Python!

Qt--QMdiArea和QMdiSubWindow的基本用法 大多数复杂的程序,都使用MDI框架,在Qt designer中可以直接将控件MDI Area拖入使用。 QMdiArea一般使用于主窗口中,用于容纳多个子窗口QMdiSubWindow 代码如下: mainwindow.h 1 #ifndef MAINWINDOW_H 2 #define MAINWINDOW_H 3 4 #include <QMa... 阅读详情

相关推荐

【Qt控件之QMdiArea】介绍及使用

`QMdiArea`小部件提供了一个区域,用于显示MDI窗口。`QMdiArea`的功能类似于MDI窗口的窗口管理器。例如,它在自身上绘制和排列管理的窗口,可以按级联或平铺模式排列它们。通常,`QMdiArea`被用作QMainWindow的中心小部件,用于创建MDI应用程序,但也可以放置在任何布局中

FreeLikeTheWind的博客 2895

主窗口(08):【类】QMdiSubWindow [官翻]

文章目录详细说明子窗口处理公共类型enum SubWindowOption属性公共函数构造和析构属性相关其它重写的公共函数公共槽信号重写的受保护的函数 QMdiSubWindow Class QMdiSubWindow 类为QMdiArea提供了一个子窗口类。 Header #include < QMdiSubWindow > qmake QT += widgets Inherits QWidget Inherited By 详细说明 QMdiSubWind

读书笔记 6033

QMdiSubWindow Class

Header:#include < QMdiSubWindow > qmake:QT += widgets Since:Qt 4.3 Inherits:QWidget This class was introduced in Qt 4.3.

weixin_43446462的博客 1239

主窗口(07):【类】QMdiArea [官翻]

文章目录详细说明公共类型enum AreaOptionenum ViewModeenum WindowOrder属性公共函数构造和析构属性相关子窗口选项重写的公共函数公共槽信号重写的受保护的函数受保护的槽演示代码 QMdiArea Class QMdiArea小部件提供了一个显示MDI窗口的区域。 Header #include < QMdiArea > qmake QT += widgets Inherits QAbstractScrollArea Inherit

读书笔记 3954

QMdiArea关闭窗口(QMdiSubWindow),如何不删除这个窗口

QMdiArea关闭窗口(QMdiSubWindow),如何不删除这个窗口?我的做法是使用QMdiArea::removeSubWindow

mouze的博客 3222

QT QMdiArea控件 使用详解

其它文章等等操作。实际开发中,一个界面上可能包含十几个控件,手动调整它们的位置既费时又费力。QMdiArea(Multiple Document Interface Area)提供了一个可以同时显示多个文档窗口的区域。本文作者原创,转载请附上文章出处与本文链接。

断点 2254

第15.37节 PyQt(Python+Qt)入门学习:containers容器类部件QMdiArea多文档界面部件详解及编程开发案例

专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一、引言 老猿在前期学习PyQt相关知识时,对每个组件的属性及方法都研究得很透彻,并将学习的感悟都写成了博文,这种方式写了大量博文,但也耽误了太多时间,学习PyQt的时间已经超过了学习Python基础知识和爬虫的时间,而后面还有好多部件,必须得提速了,因此老猿决定以...

老猿Python 1811

详解Qt 之QMdiArea 和 QMdiSubWindow

在复杂的应用程序中,尤其是那些需要同时管理多个子窗口的应用程序中,使用多文档界面(MDI)是一个非常有效的解决方案。Qt 提供了QMdiArea和类来实现这种多文档界面。本文将详细介绍这两个类的概念、作用及其主要函数,并提供一个示例代码来帮助理解其使用方法。QMdiArea和是 Qt 提供的用于实现多文档界面的关键类。QMdiArea作为容器管理多个子窗口,作为子窗口提供标准窗口的所有功能。这些类提供了灵活的布局管理功能,适用于需要同时管理多个子窗口的应用程序。理解和掌握QMdiArea和。

m0_62599305的博客 1732

Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow

QMdiArea类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,是Qt用来显示MDI窗口的部件。滚屏区域基类 QAbstractScrollArea框架类 QFrameQMdiArea部件提供了一个显示多文档窗口。子窗口使用管理,QMdiSubWindow继承于QWidget,所以它除了拥有顶级窗口的属性,还拥有自身的行为,比如按键切换窗口等。

波塞冬的博客 3333

PyQt学习笔记:QMdiArea多文档界面和QMdiSubWindow子窗口的属性和操作方法

QMdiArea提供多文档用户界面,即一个主窗口可以打开多个子窗口,每个子窗口可以装载不同的文档或视图。QMdiSubWindow则是QMdiArea中的子窗口,可以在其中嵌入各种QWidget及其子类的对象。以上是关于QMdiArea和QMdiSubWindow的属性和操作方法的介绍,希望能对读者在PyQt GUI编程中使用QMdiArea和QMdiSubWindow提供帮助。PyQt学习笔记:QMdiArea多文档界面和QMdiSubWindow子窗口的属性和操作方法。

code_welike的博客 642

Qt多文档界面核心:QMdiArea全面详解与实战指南

本文全面介绍了Qt中QMdiArea组件的使用方法,主要包括:1)基本概念,对比MDI与SDI界面;2)核心功能实现,如窗口创建、排列和管理;3)高级特性,包括自定义样式、文件操作集成;4)性能优化技巧和用户体验提升方案。文章提供了一个完整的MDI文本编辑器案例,涵盖从基础搭建到信号处理、内存管理等实践细节,并总结了常见问题的解决方案。通过系统学习,开发者可以掌握构建功能完善的多文档应用程序的关键技术。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 1213

Qt MDI与Splash介绍

您还可以使用键盘更改活动窗口。默认情况下,每个 QMdiSubWindow 在移动时在 MDI 区域视口内可见,但也可以指定透明窗口移动和调整大小行为,在这些操作期间仅更新子窗口的轮廓。使用子窗口编程时,您可以使用与常规顶层窗口相同的 API(例如,您可以调用 show()、hide()、showMaximized() 和 setWindowTitle() 等函数)。与顶层窗口的窗口管理器不同,只要当前窗口小部件样式支持所有窗口标志 (Qt::WindowFlags),QMdiArea 便支持这些标志。

charlie114514191的博客 1540

新手必看!Cisco Packet Tracer 8.2从安装到完成第一个局域网实验(附常见问题解决)

本文为网络新手提供了Cisco Packet Tracer 8.2的完整入门指南。从官方下载安装、界面熟悉,到核心的拖拽设备、连线、配置IP地址三步操作,手把手教你完成第一个局域网组网实验。文章重点讲解了如何通过Ping命令验证连通性,并附带了连线错误、IP配置不当等常见问题的解决思路,帮助初学者快速上手这款强大的思科模拟器。

android的专栏 869

Qt模块化笔记之Qt Widgets——子区域和子窗口

QMdiArea 一般使用于主窗口QMainWindow,用于容纳多个子窗口QMdiSubWindow  qt creator 3.0的设计师有MdiArea可直接拖入使用。 界面如下,图中灰色框即是个MdiArea,另一图中创建了2个QMdiSubWindow : 代码如下: #include "mainwindow.h" #include "ui_mainw

qt爱好者 8660

DeepSeek-OCR 本地部署使用教程(附完整环境配置与推理示例)

DeepSeek-OCR是由DeepSeek AI推出的开源OCR模型,支持高精度文档识别与结构化输出(如Markdown转换)。本文提供了详细的本地部署指南,包括系统要求(推荐Linux+A100 GPU)、环境配置(Python 3.12.9+PyTorch 2.6.0+CUDA 11.8)、模型下载及两种推理方式:高性能的vLLM(适合批量处理)和灵活的Transformers(适合调试)。支持多种分辨率模式和提示词模板,适用于合同识别、PDF转换等场景。常见问题包括显存优化和性能调优建议。

qq_58607032的博客 6723

Android应用开发从零到一:基于Kotlin与Jetpack Compose的完整实践指南

移动应用开发的核心在于构建一个架构清晰、可维护且可扩展的应用基础。理解应用架构的原理,如关注点分离和数据驱动UI,是实现高质量应用的关键技术价值。在现代Android开发中,Kotlin语言凭借其空安全特性和协程,能有效提升代码的健壮性与开发效率。Jetpack Compose作为声明式UI框架,代表了UI开发的未来方向,与Kotlin协程深度集成,简化了复杂交互界面的构建。这些技术共同服务于个人任务管理、企业工具等多种应用场景。本文以构建一个完整的个人任务管理应用为例,系统阐述从环境搭建、UI构建、数据持

weixin_32667955的博客 313

Qt Widgets——子区域和子窗口

QMdiArea 一般使用于主窗口QMainWindow,用于容纳多个子窗口QMdiSubWindow  qt creator 3.0的设计师有MdiArea可直接拖入使用。 界面如下,图中灰色框即是个MdiArea,另一图中创建了2个QMdiSubWindow : 代码如下: #include "mainwindow.h" #include "ui_mainwind...

weixin_34273481的博客 1141

Oracle EBS R12.2.X JSP部署、编译和配置相关操作。

系统环境 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 背景 在某项目上,需要开发JSP相关程序,比如单点登陆、打印二维条码。当前把JSP部署编译以后,访问提示错误:Requested resource or page is not allowed in this site, 通过查SR发现Oracle EBS R12.2.X版本对客制化JSP进行权限控限,需要设置某些配置文件。 实例操作步骤 上传JSP文件 通常上传到$OA_HTML目录或其子目

陈显平的专栏-Oracle EBS 1911

【Qt笔记】QMdiArea控件详解

QMdiArea是Qt框架中的一个重要控件,它提供了一个区域用于显示和管理多个MDI(Multiple Document Interface,多文档界面)子窗口。

qq_52924376的博客 2340

2025年GESP12月认证C++四级真题解析

摘要 本文包含11道C++编程题目,涵盖指针、数组、函数参数传递、结构体和排序算法等知识点。每题2分,总分30分,主要考察学生对C++基础语法的掌握程度。题目包括指针定义与解引用(第1-4题)、二维/三维数组遍历(第4-5题)、变量作用域(第6题)、函数传参方式(第7题)、结构体操作(第8题)、递归算法(第9题)和排序稳定性判断(第10题)。最后第11题要求补全选择排序算法代码片段。每道题均提供标准答案和详细解析,适合用于检验C++基础知识的掌握情况。

lan_in的博客 317

【异常】解决 Claude Code 及第三方插件提示 “API Error: 404“ 的配置修复指南

在使用 Claude 相关的 CLI 工具(如)或 IDE 插件进行开发辅助时,配置错误的模型参数是导致连接失败的常见原因。本文将针对这一典型报错进行复盘与解决。

奶爸的编程之路,也就一周冷个三天 7747

QMdiSubWindow

QMdiSubWindow 是 Qt 中的一个类,它提供了一个可以在 QMdiArea 中显示的子窗口。QMdiArea 是一个部件,用于在多文档界面(MDI)应用程序中显示和管理多个子窗口。QMdiSubWindow 可以包含任何可视部件,并提供了一些用于管理和操作子窗口的额外功能,例如最大化和最小化。 ...

weixin_35748962的博客 467

鱼鹰优化算法(OOA)详解:从猛禽捕食智能到优化算法实现

鱼鹰优化算法(Osprey Optimization Algorithm, OOA)是2023年提出的一种新型元启发式优化算法,灵感来源于鱼鹰(一种中型猛禽)高效的捕食策略。算法模拟了鱼鹰从空中识别水下鱼类位置并俯冲捕食,然后将捕获的鱼带至安全位置享用的全过程,以此抽象出全局探索和局部开发两个核心阶段。OOA算法具有参数少、结构简单、收敛速度快、全局寻优能力强等特点。自提出以来,已在函数优化、机器学习参数调优(如CatBoost模型)、路径规划等多个领域展现出良好性能,为解决复杂优化问题提供了新的有效工具。

qq_42212808的博客 273

27-容器和容器控件-多文档区QMdiArea和子窗口QMdiSubWindow

用QMdiArea 的addSubWindow(QWidget,Qt.WindowFlags)方法可以往多文档区中添加子窗口,并返回子窗口,参数QWidget 可以是子窗口,也可以是其他控件,如果是其他控件,则先创建其他控件,然后在子窗口上添加该控件;如果移除的是控件,则控件所在的子窗口并没有被移除。在使用子窗口编程时,您可以使用与常规顶级窗口相同的 API(例如,您可以调用 show()、hide()、showMaximized()和 setWindowTitle()等函数)。

***** 1561

大厂硬件机试选择题与判断题解析-卷1

本文精选30道硬件工程师机试题目,涵盖模拟电路、数字电路、PCB设计三大方向。模拟电路部分重点考察运算放大器、滤波器、整流电路等核心知识;数字电路部分聚焦计数器、电平转换等关键技术;PCB设计部分强调高速信号处理、阻抗控制等实践要点。题目均来自华为、小米等大厂真题,剔除基础题,每道题附详细解析,包括正确答案推导过程及相关公式说明。特别针对易错概念(如负反馈类型判断、Q值与带宽关系等)进行重点解析,帮助考生系统掌握硬件设计的核心考点和解题思路。

启芯硬件的博客 678

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

QMdiArea之QMdiSubWindow子窗口隐藏系统标题栏

关于QMdiSubWindow去掉系统边框最小化的问题问题简述解决方案具体代码示例 问题简述 QMdiSubWindow去掉系统边框然后使用自定义实现菜单栏,进行最小化操作,第一个窗口的位置坐标在mdiarea显示范围之外。所以造成消失的问题。应该是自定义菜单栏没有重写对应的系统事件和最小化窗口的size。 解决方案 将最小化之前,显示系统标题栏,然后最小化,然后在隐藏系统标题栏,setvisible(true)。就解决这个问题。之前比较困扰,懒得去理他,最近才想到这个解决方案。 具体代码示例 void M

congwang3960的博客 2704

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 第三十章、containers容器类部件QMdiArea多文档界面部件功能介绍及开发应用
下一篇: PyQt(Python+Qt)学习随笔:QMdiArea多文档界面区域的viewMode、documentMode、tabsClosable、tabPosition等属性介绍
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值