PyQt(Python+Qt)学习随笔:QMdiArea多文档界面区域的viewMode、documentMode、tabsClosable、tabPosition等属性介绍

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

viewMode属性用于控制子窗口是使用子窗口模式(QMdiArea.SubWindowView)还是选项卡模式(QMdiArea.TabbedView)显示:

  1. 如果是子窗口模式,则每个子窗口都是一个带标题栏、窗口G根据addSubWindow指定flag可以设置最大化、最小化和关闭按钮的窗口,可以执行窗口关闭和大小的变化。
  2. 如果是选项卡模式,则子窗口最大化后不显示标题栏及操作按钮,但非最大化下会同样显示,另外所有窗口都会在选项卡栏上有个选项。如图:

在这里插入图片描述

  1. 在选项卡模式下,窗口可以设置documentMode(是否支持文档模式,支持文档模式时窗口无框架,用更多的空间显示文档)、tabsClosable(在选项卡中是否显示关闭标志)、tabsMovable(各子窗口的选项卡在选项卡栏是否可以移动)、tabPosition(选项卡栏所在位置)、tabShape(选项卡形状)这几个属性,而在子窗口模式这几个属性无效。

另外,经老猿验证,在子窗口模式下添加的子窗口必须显示执行show()等方法才能显示子窗口,在选项卡模式无需执行show()等方法就可以显示子窗口。调用show方法时,既可以使用addSubWindow(widget)参数中的widget,也可以用方法返回值对应窗口。

老猿Python,跟老猿学Python!

PyQt5 框架搭建+实战(多窗口打开,文件对话框) 阅读详情

相关推荐

Python Qt6快速入门-多文档界面(MDI)

多文档界面(Multi Document Interface,MDI)是一种应用程序界面管理方法。MDI应用程序一般由一个主窗口和多个子窗口组成,这些子窗口在主窗口里显示,并共享主窗口的菜单栏,工具栏。在MDI应用程序中,操作对象一般是当前活动的子窗口。典型MDI应用程序 如Microsoft的Word、Excel等软件。

视觉与物联智能 2100

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

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

读书笔记 3954

Python PyQt学习笔记:控制QListView的movement属性

在使用PyQt中,QListView是一个十分常用的控件,它主要用于展示列表数据,但是在默认情况下,用户可以通过鼠标拖拽控制列表项的位置。如果我们需要禁止或者限制用户对列表项的拖动控制,那么需要使用QListView的movement属性来实现。通过设置QListView的movement属性为Static,我们禁止了用户对列表项的拖拽控制,从而实现了限制用户行为的目的。综上所述,通过控制QListView的movement属性,我们可以更好的控制用户的行为,从而提高应用程序的可用性。

持续更新 285

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

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

qt爱好者 8660

Qt Designer中主窗口对象的documentMode属性 - Python

在Qt Designer中,可以轻松创建交互式应用程序的用户界面,以及将应用程序中使用的各种控件放置到窗口中。对于主窗口对象,使用Python编程时,常见的一个属性是documentMode。文档模式与应用程序模式之间的区别在于,文档模式下主窗口可以显示多个子窗口,并且每个子窗口都可以拥有不同的标题栏、菜单和工具栏。总结来说,通过在Python中使用Qt Designer和主窗口对象的documentMode属性,我们可以轻松创建多文档界面(MDI)应用程序,并以用户友好的方式呈现多个窗口。

学习使你进步。 317

PyQt学习笔记:探究QTabWidget选项卡部件的documentMode属性

接着,我们使用addTab()方法将三个选项卡添加到QTabWidget中,并使用setDocumentMode()方法将documentMode属性设置为True。当documentMode为True时,选项卡被视为文档类型的标签页,并采用标准的文档选项卡样式。而QTabWidget的documentMode属性则是控制选项卡在页面上的显示方式,下面我们就来深入了解一下这个属性。总之,QTabWidget的documentMode属性能够影响选项卡在界面上的显示方式,开发者可以根据自己的需要来进行设置。

持续更新 495

Qt Widgets——子区域和子窗口

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

weixin_34273481的博客 1141

python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例

PyQt5 MDI(多文档窗口)QMidArea简介 一种同时显示多个窗口的方法是,创建多个独立的窗口,这些独立的窗口被称为SDI(Single Document Interface 单文档界面),每个窗口都有自己的菜单系统,工具栏等,这需要占用很多资源 MDI(Multiple Document Interface 多文档界面)应用程序占用较少的内存资源,子窗口可以放在主窗口的容器中,这个容器控件被称为QMidArea QMidArea控件通常占据在QMainWindow对象的中央位置,子窗口在这个区域是QMdiSubWindow类的实例,可以设置任何QWidget作为子窗口对象的内部控件,

Qt应用开发(基础篇)——选项卡窗口 QTabWidget

QTabWidget类继承于QWidget,是一个拥有选项卡的窗口部件。QTabWidget类有一个选项卡栏QTabBar和一个页面区域,用来显示和选项卡相关联的界面。用户通过点击选项卡或者自定义快捷方式(ALT+Key)切换页面。

波塞冬的博客 5009

【AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Pytorch-DirectML篇)】

这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。 首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。 https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows 这里用我的方法操作: 首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就.

weixin_44029053的博客 2万+

基于计算机视觉的Windows自动化工具openclaw-win:从原理到实战

计算机视觉与自动化技术正深刻改变人机交互方式,其核心在于让机器具备“感知-决策-执行”的能力。通过图像采集与处理算法,程序可以识别屏幕上的特定元素;结合模拟输入技术,便能自动执行点击、拖拽等操作,形成完整的自动化闭环。这一技术栈在软件测试、数据采集、重复性办公任务等领域具有重要价值,能够显著提升工作效率。开源项目openclaw-win正是这一理念的工程实践,它整合了图像识别与模拟操作模块,为开发者提供了一个研究自动化技术的具体样本。项目涉及模板匹配、坐标计算等关键技术点,并需处理屏幕适配、操作延迟等实际问

weixin_28745975的博客 331

QMdiArea的文档模式与非文档模式设置后无区别

QMdiArea 是 Qt 中的一个多文档界面 (MDI) 控件,它提供了一种在窗口中打开和管理多个子窗口的方式。它有两种模式:文档模式和非文档模式。 在文档模式下,QMdiArea 管理的子窗口是以文档的形式打开的,用户可以通过使用菜单栏和工具栏来对这些文档进行操作。 在非文档模式下,QMdiArea 管理的子窗口没有菜单栏和工具栏,而是作为常规的子窗口显示。 如果你设置了 QMdiArea 的...

weixin_35750483的博客 111

【嵌入式原理系列-第七篇】ld脚本实战:从零构建MCU内存布局

本文是一篇针对嵌入式开发者的实战指南,详细讲解了如何从零开始为MCU编写ld链接器脚本以构建自定义内存布局。文章以STM32F103C8T6为例,深入剖析了MEMORY和SECTIONS指令的用法,并提供了OTA分区、非易失数据存储等高级定制案例,帮助开发者解决实际工程中的Flash与RAM管理难题,实现对程序运行的深度掌控。

weixin_29271263的博客 249

PyQt 多文档界面 示例

一个典型的GUI应用程序可能有多个窗口,选项卡控件和堆栈窗口控件允许一次使用其中的一个窗口。 一种同时显示多个窗口的方法是,创建多个独立的窗口,这些独立的窗口被称为SDI(Single Document Interface,单文档界面),每个窗口都可以有自己的菜单系统、工具栏等。 import sys from PyQt5.QtCore import * from PyQt5.Qt...

s651665496的专栏 1179

IPMI的SOL (Serial Over LAN) 和 UART

UART全名是Universal Asynchronous Receiver/Transmitter(通用異步接收/发送器),它是一个常用的異步串行传输协议。透过UART传输前,接收方须要先知道传输方的鲍率(Baud rate):单位时间内,讯号状态变化的次数。例如 115200 bps,表示每秒会传送115200个bits--> 因此读取率就是 1/115200=8.6微秒读取一次讯号。封包内的资料长度:通常是 8bits。

yeiris的博客 1万+

手把手教你用C语言实现GNSS卫星方位角计算(附RTKLIB风格代码解析)

本文详细介绍了如何使用C语言实现GNSS卫星方位角计算,包括从地固坐标系到站心坐标系的转换链条。通过RTKLIB风格的代码解析,展示了XYZ到ENU坐标转换的核心原理和C语言实现框架,帮助开发者掌握卫星方位角和高度角的计算技巧,适用于GNSS观测数据质量分析和精密定位算法开发。

weixin_30699915的博客 365

Qt之布局管理--(2)多文档的布局和焦点

Qt提供了一个QWorkspace类,利用QWorkspace类可以很方便的实现多文档的应用。 QWorkspace类继承自QWidget类,因此只需在QMainWindow主窗口中把QWorkspace对象设置为中央窗体即可。 示例:演示多文档的布局和焦点控制 MainWin.h #ifndef MAINWIN_H #define MAINWIN_H #include &lt;...

weixin_34124577的博客 141

TPL5010硬件看门狗电路

在做一些采集频率很低的产品的时候,会考虑电池供电,比如表、电气表等,为了控制功耗,往往会在设备不需要工作的时候让它进入低功耗模式。为了设备的稳定性,避免死机后无法恢复,必须配置看门狗,一般的看门狗芯片,喂狗间隔时间是几秒钟。这样在喂狗和低功耗之间就产生了一个矛盾,频繁的喂狗就需要频繁的醒过来,这样功耗就很难做到很低。这颗看门狗芯片,特别适合上面的应用。2小时的间隔意味着主控芯片每2小时醒过来喂狗一次即可,而在2.5V供电的情况下,功耗仅仅35nA,几乎可以忽略不计。

zxm8513优快云博客 3308

Qt 程序窗口最大、最小化相关的设置方法

Qt 生成基于对话框的程序时,程序的右上角是没有最大化、和最小化按钮的。这时可以用下面的代码:   setWindowFlags(windowFlags() | Qt::WindowMaximizeButtonHint); setWindowFlags(windowFlags() | Qt::WindowMinimizeButtonHint);   如果需要程序一运行就最大化,可以加入下

Ivan 的专栏 2万+

C#报表,使用微软rdlc模板,生成Excel, PDF, Word, Image文件,使用自定义对象做数据集不连接数据库

我项目是用vs2017 建的,.NET farmwork 4.7.2 这种报表可以用于任何模式的应用,web,桌面,因为这只是生成一个文件或者文件流 步骤比较详细啰嗦,其中有讲到rdlc怎么新建设计,如果已经会设计rdlc了的可以直接跳到底部看代码的执行结果, 底部还有源码下载链接,百度盘 首先控制台安装报表包 新建rdlc 报表 建立rdlc里要用的数据模型 模型建完,或者修改都要重新...

qq_35955916的博客 5203

【保姆级教程】YOLOv8_Pose多目标+关键点检测:训练自己的数据集

【保姆级教程】YOLOv8_Pose多目标+关键点检测:训练自己的数据集

m0_51579041的博客 1万+

PyQt5笔记 - 简单例子

一个PyQt窗口简单例子import sys from PyQt5.QtWidgets import QApplication, QWidget #1if __name__ == '__main__': app = QApplication(sys.argv) #2 w = QWidget() #3 w.resize(250, 150)

每天进步一点点 2628

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【Pyqt5应用实例】Pyqt5实现添加多个子窗口布局之QMdiArea

【Pyqt5应用实例】Pyqt5实现添加多个子窗口布局功能结果显示完整代码示例 功能结果显示 完整代码示例 # -*- coding: utf-8 -*- import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class MainWindow(QMainWindow): count=0 def __init__(self, parent=N

阿旭的博客 2659

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Qt:77---Demo(MDI多文档界面案例)

本案例的基础知识来自于文章:https://blog.youkuaiyun.com/qq_41453285/article/details/98949333 一、文档类窗体的设计 这个窗体类是用来放在主窗体的MDIArea组件中的 ①窗体创建与设计 类中只放置一个QPlainTextEdit组件,并以水平布局填充整个窗口 ②类的初始化 class QFormDoc : public QW...

董哥的黑板报 3253

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

QT mac或window下最小化的判断

在网上搜Qt判断最小化没搜到有用的信息,然后就自己看文档,可能是太简单了吧。。希望其他人少走弯路喽! 有二种方式 第一种this->windowState() == Qt::WindowMinimized 第二种是 isMinimized()函数 ...

疯而不觉的博客 1274

PyQt5最全60 容器之QMdiArea和QMdiSubWindow容纳多文档的窗口

PyQt5最全60 容器之QMdiArea和QMdiSubWindow容纳多文档的窗口 from PyQt5.QtWidgets import * import sys class MultiWindows(QMainWindow): """ 容纳多文档的窗口 QMdiArea QMdiSubWindow 点击菜单中添加文档窗口可以新建窗口,并且可以设置层叠和平铺两种排列模式 """ def __init__(self): sup

爱吃肉的牛牛的博客 1124
上一篇: PyQt(Python+Qt)学习随笔:containers容器类部件QMdiArea多文档界面的QMdiSubWindow子窗口相关属性和操作方法
下一篇: PyQt(Python+Qt)学习随笔:QMdiArea多文档界面部件的subWindowActivated信号
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值