第六章 多文档界面

pyqt5(9)-MDI多窗体显示-QMainWindow-QDialog-mdiArea 点击上面的菜单或者工具条,在右下框中显示出被点击的窗口。 网上对mdiArea的说明大部分是doc版的,我这是QMainWindow-QDialog版本的。 其实无论哪种都是3步 #1.DOC def newDocSub(self): newDoc = QMdiSubWindow(self) #1.创建子窗口 newDoc.setWindowTitle('新文档 ' + str(self.newDocIndex)) self.... 阅读详情

    在主窗口的中央区域能够提供多个文档的那些应用程序就称为多文档界面(MDI)。Qt中把QMdiArea类作为中央窗口部件,并且每一个文档窗口都是这个类的子窗口。

    对于多文档界面应用程序有一个管理,就是为他提供一个Window菜单,这个菜单中包含一些管理这个窗口以及窗口列表的命令。激活窗口会使用一个选择标记表示出来。用户在window菜单中单击代表特定窗口的一项,就可以激活任何窗口。


界面元素如下;



代码大部分与Spreadsheet相似,所以只粘贴比较重要的,工程在底下上传。


解释在注释中

MainWindow::MainWindow()
{
    mdiArea = new QMdiArea;
	//创建一个QMdiArea并设置为中央窗口部件
    setCentralWidget(mdiArea);
	//把信号与将要用来保持更新Window菜单的槽连接起来,并且会根据应用程序的状态来启用或禁用那些动作
    connect(mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(updateActions()));

    createActions();
    createMenus();
    createToolBars();
    createStatusBar();

    setWindowIcon(QPixmap("images/icon.png"));
    setWindowTitle(tr("MDI Editor"));
    QTimer::singleShot(0, this, SLOT(loadFiles()));
}

void MainWindow::updateActions()
{
    bool hasEditor = (activeEditor() != 0);
    bool hasSelection = activeEditor()
                        && activeEditor()->textCursor().hasSelection();

    saveAction->setEnabled(hasEditor);
    saveAsAction->setEnabled(hasEditor);
    cutAction->setEnabled(hasSelection);
    copyAction->setEnabled(hasSelection);
    pasteAction->setEnabled(hasEditor);
    closeAction->setEnabled(hasEditor);
    closeAllAction->setEnabled(hasEditor);
    tileAction->setEnabled(hasEditor);
    cascadeAction->setEnabled(hasEditor);
    nextAction->setEnabled(hasEditor);
    previousAction->setEnabled(hasEditor);
    separatorAction->setVisible(hasEditor);

    if (activeEditor())
        activeEditor()->windowMenuAction()->setChecked(true);
}
    每当一个新的子窗口被激活,或者在关闭最后一个子窗口时,都会发射subWindowActivated信号。在后一种状况下,他的参数就是一个空指针。信号会连接到updateActions槽。只有在存在激活窗口时,绝大多数的菜单项才会起作用。

工程代码链接:http://pan.baidu.com/s/1jIMOVjC 密码:yxj8



C#可视化编程技术第六章:Windows控件应用(内含笔记、效果图、代码) 笔记: 一、多文档界面应用程序: 即一个父窗体里面包含若干个子窗体,子窗体无法移出父窗体显示。 1、将父窗体的IsMdiContainer属性设置为True,则该窗体变为父窗体,窗体背景自动变灰。 2、声明子窗体对象:Form2 form2 = new Form2(); 设置该窗体为子窗体的父窗体 form2.mdiParent = this; 显示该窗体 form2.Show(); 3、用菜单栏显示不同的子窗体排列方式,通过点击触发: 水平排列子窗体:this.LayoutMdi(Mdilayout.Ti 阅读详情

相关推荐

第六章 C#控件应用

ImageList:用于存储图像资源,其资源均在Images属性是一个图片集合,每张单独的图像可通过其索引值或键值来进行访问,所有图像都将以同样大小显示,其大小由ImageSize属性设置,如果图像较大则会将其缩小到适当尺寸。1、每个应用程序中,只能有一个MDI父窗体,在父窗体中可以打开多个MDI子窗体。3、当关闭任何子窗体时,对父窗体以及其他打开的子窗体均没有任何影响。):用于显示图像在窗体中,通常用于在窗体的指定位置显示图片,它不可编辑不能或得焦点。4、当关闭父窗体时,将关闭所有打开的子窗体。

芜湖博客 493

C/C++ Qt MdiArea 多窗体组件应用

MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体中内嵌多种子窗体的功能,使用MDI组件需要在UI界面中增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行,如下我们将具体介绍该组件的常用使用技巧。MDI窗体控件类似于画布,该控件只具备展示窗体的功能,无法实现生成窗体,所以我们需要在项目中手动增加自定义的。窗体中的顶部菜单栏,我们需要手动定义一下他们所具备的功能名称等。最后一个功能是主窗体发送数据到子窗体,该功能的实现需要两个函数。

微软技术分享 1万+

使用PyQt开发图形界面Python应用专栏目录

本专栏为收费专栏的文章目录,对应的免费专栏为《[PyQt入门知识目录](https://blog.youkuaiyun.com/laoyuanpython/category_9702362.html)》,两个专栏都为基于PyQt的Python图形界面开发基础教程,只是收费专栏中的内容介绍更深入、案例代码更全。 Qt和PyQt介绍的很多部件属性及字典取值在Qt及PyQt官方文档以及网上都没有,老猿通过大量研究、测试将相关内容弄清楚,因此本专栏适合有一定Python基础的同仁零基础学习Python图形界面开发,也适合学习

老猿Python 1万+

C++ Qt开发:MdiArea多窗体组件

QMdiArea(Multiple Document Interface Area)是Qt中用于创建多文档界面的组件。它提供了一种在单个窗口中管理多个文档的方式,每个文档通常是一个子窗口(`QMdiSubWindow`)。该组件主要用于设计多文档界面应用程序,具备有多种窗体展示风格,实现了在父窗体中内嵌多种子窗体的功能,使开发者能够轻松地创建支持多个文档的应用程序。

微软技术分享 6590

MdiArea实现多窗口与多部件

1 介绍 开发的上位机软件中需要在主窗口内部增加多个活动的子窗口,子窗口需要满足以下条件: 能够像普通窗口一样放置任何部件,比如按钮,标签,文本框,编辑框,下拉菜单; 必须在主窗口内部,不允许移出去; 这种情况下采用多文档窗口MDiArea类是可以的,官方例程及网上的大部分资料虽然都是基于建立多个窗口的文本编辑器,并没有给出子窗口放置任一部件的例子,但是官方文档中说明可以像普通窗口一样使用基于MdiArea的子窗口。 2 主窗口放置MdiArea Qt设计师导航...

u013516331的博客 4048

企业级PDF智能问答系统(⭐)—— 多文档解析+向量检索+重排序,支持表格/图表理解。技术栈:LangChain、ChromaDB、Reranker(Cohere)

企业级PDF智能问答系统不只是一个软件工具,它代表着企业知识管理范式的根本转变——从“人找信息”到“信息找人”,从“被动检索”到“主动洞察”。通过多文档解析的精细化、向量检索的高效化、重排序的精准化,以及表格/图表理解的突破,我们正站在一个新时代的门槛上:未来三年内,企业内部超过80%的显性知识将实现“即问即答”,员工将不再需要记忆或翻阅文档,而是专注于更高价值的创造性工作。当然,技术本身并非万能。系统的成功还依赖于高质量的数据治理、用户反馈循环的建立、以及组织文化的适配。

2201_76125393的博客 99

MongoDB 事务管理:多文档操作如何保证 ACID?

MongoDB 事务管理:多文档操作如何保证 ACID?在现代应用开发中,数据一致性是系统设计的核心挑战之一。MongoDB 作为领先的 NoSQL 数据库,从 4.0 版本开始支持多文档 ACID 事务,为开发者提供了处理复杂业务场景的强大工具。本文将深入探讨 MongoDB 事务的工作原理,并通过实际代码演示展示如何实现 ACID 特性。

夜雨的博客 1449

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

主要介绍了python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例,需要的朋友可以参考下

《WTL起步 - 玩转图形界面》目录 (转)

《WTL起步 - 玩转图形界面》目录 (转)[@more@]这个计划因为工作将被搁置! 目录译序....................................................................

cuiji1279的博客 126

实战演练,如何用Easyexcel合并单元格,设置字体、边框样式,并在尾行加入备注

,实现效果如下:1、多级表头合并2、表头底纹+表格边框3、合并相同数据单元格4、尾行加入备注。

Su7148的博客 1万+

PX4无人机PID调参实战:从零到稳定飞行的关键步骤

本文详细介绍了PX4无人机PID调参的实战步骤,从理解双环控制结构到实战调参三部曲,帮助飞手解决飞行抖动、电机发热等常见问题。通过分析飞行日志、调整速率环P值、引入积分I和微调角度环与微分D,实现从零到稳定飞行的关键跨越,是无人机飞控调试的必修课。

weixin_29269441的博客 527

烟台大学 .net 第六章实验 实验06 Windows应用编程(2)

实验06 Windows应用编程(2) 【实验目的】 掌握控件(Control)的基本属性、事件和方法的使用。 掌握消息框、通用对话框的设计。 掌握容器类控件的使用。 掌握菜单和工具栏的设计。 掌握多重窗体和多文档界面。 【实验内容】 以下9道实验题目最终效果,大家可运行“可执行文件”目录中各题。 // // // // // 1、设计一个如图6-1所示的窗体:该窗体中有一个图片框,显示一副图...

truepeople6的博客 1789

基于 SquashFS 构建 Linux 可读写文件系统

嵌入式 Linux 启动过程 本文所描述的的 Linux Image 由 BootLoader、kernel、initrd、rootfs 组成,它们共同存在于一个可以启动的存储设备中(本文以 USB 为例)。组成架构如下: 图 1. 可启动 linux 镜像文件结构 各个模块的作用如下: Boot Loader:由 BIOS 加载,用于将后续的 Kernel 和 initrd 的装载到内存中 kernel:为 initrd 运行提供基础的运行环境 initrd:检测并加载各种驱动程序 ro

wzq2009的专栏 1174

第六章 Windows控件应用

本章有一个实践练习:六、使用Vs制作一个电子时钟!!! 一、 多文档界面(MDI) 1,特点如下: 1)每个应用程序中只能有一个MDI父窗体,在父窗体中可以打开多个MDI子窗体; 2)任何MDI子窗体都只能在父窗体内部区域活动; 3)当关闭任何子窗体时,对父窗体以及其他打开的子窗体都没有任何影响; 4)当关闭父窗体时,将关闭所有打开的子窗体。 2,父窗体的ActiveMdiChild属性 二、 ...

wnamej的博客 500

【清华大学软院】15-19年推免试题历年整理

整理的题目为清软预推免机试(外校)硕士机考题目。 年代 题目1 题目2 题目3 2019 质因数分解 二叉搜索树 区间DP(折叠字符串) 2018 日期转换 高精度模拟 区间DP(戳气球) 2017 进制素数 被遗漏的数字 DP(收集苹果) 2016 大数运算 DP DFS 2015 进制素数: http://acm.hdu.edu.cn/showproblem.php?pid=1230 2017年题目(这个是找的最准确的题目): 1题见【链接】 2题见【链接】

云端筑梦师 2255

在Windows 11上用VirtualBox搞定WRF-Hydro 5.2.0:一个水文模型小白的Ubuntu 22.04虚拟机避坑实录

本文详细记录了在Windows 11上使用VirtualBox和Ubuntu 22.04虚拟机成功编译安装WRF-Hydro 5.2.0水文模型的全过程。从虚拟环境配置、依赖库安装到环境变量设置,作者分享了针对Linux新手的实用避坑技巧和关键命令,帮助科研人员高效完成水文模型的环境搭建。

weixin_30733003的博客 354

第六章 VB的过程设计

轉自:http://wwww.hyit.edu.cn/edu/vb/study/index.htm 第六章 VB的过程设计 1.什么是过程     在程序设计中,为各个相对独立的功能模块所编写的一段程序称之为过程。 2.VB中的自定义过程分类 (1)以“Sub”保留字开始的子程序过程 (包括事件过程和通用过程),不返回值; (2)以“Function” 保留字开始的函数过程...

weixin_34130389的博客 301

别光看文档了!手把手带你用Habitat-Lab跑通第一个PointNav任务(附完整代码与避坑指南)

本文详细介绍了如何使用Habitat-Lab快速跑通第一个PointNav任务,包括环境配置、依赖安装、数据集下载与路径配置等关键步骤,并提供了完整的代码实现与常见问题排查指南。特别适合刚接触Habitat-Lab的开发者,帮助避开官方Quickstart未提及的坑,快速上手具身AI任务。

weixin_42662293的博客 272

BUAAthesis LaTeX模板终极使用指南:快速掌握北航论文排版技巧

北航毕业论文LaTeX模板BUAAthesis是专为北航学子设计的专业排版工具,能自动符合学校规定的所有格式要求。本指南将带你从零开始,快速掌握这个强大工具的使用方法。 ## 5分钟快速入门指南 ### 环境准备与项目获取 首先确保你的系统已安装TeXLive 2019或更新版本,然后获取项目代码: ```bash git clone https://gitcode.com/gh_mirro

gitblog_00623的博客 473

GEE APP:时间序列影像批处理工具:按月筛选与智能导出解决方案出工具

本文介绍了一个基于Google Earth Engine(GEE)开发的智能时序影像处理工具,可高效处理遥感影像时间序列数据。该工具采用三栏式交互布局,包含控制面板、地图显示和缩略图预览区域。核心功能包括:1)灵活的时间筛选机制,支持年度范围选择和月份批量选择;2)智能影像筛选算法,基于云量、空间覆盖等条件自动选择最佳影像;3)交互式缩略图预览,支持点击加载完整影像;4)自动化批量导出系统,实现标准化命名和统一存储。工具可广泛应用于农业监测、城市扩张研究、生态环境评估等领域,显著提高遥感数据预处理效率,确保

此星光明博客 113

2025年7月5日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案

2025年7月5日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案

伶俐角少儿编程 898

第六章序-布局管理(Chapter 6. Layout Management)

 窗体上的所有的控件必须有一个合适的尺寸和位置。Qt提供了一些类负责排列窗体上的控件,主要有:QHBoxLayout,QVBoxLayout,QGridLayout,QStackLayout。(有时在译文中我会把这些类叫做布局管理类)这些类简单易用,无论在代码中还是用Qt Designer开发程序都能用到。 使用这些Qt布局管理类的另一个原因是,在程序改变字体,语言或者在不同的平台上运

嘒彼小星的笔记 3581

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Qwen3.5-9B-GGUF实战案例:金融文档长文本分析效果展示

本文介绍了如何在星图GPU平台上自动化部署Qwen3.5-9B-GGUF镜像,该镜像是阿里云Qwen3.5-9B官方模型经GGUF格式量化后的版本,专为金融文档长文本分析优化。通过该平台,用户可快速搭建高效分析环境,应用于上市公司年报关键指标提取、风险因素识别等场景,显著提升金融文档处理效率。

weixin_42602241的博客 466

假人有限元模型

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【学习笔记】C++ GUI Qt4 第六章 6.1 在窗体中摆放窗口部件

文章目录6.1 在窗体中摆放窗口部件6.1.1 绝对位置法6.1.2 人工布局法6.1.3 布局管理器法 放置在窗体中的每一个窗口部件都必须给定一个合适的大小和位置。Qt 提供了多个用于在窗体中摆放窗口部件的类:QHBoxLayout、QVBoxI ayout、QGridLayout和QStackLayout。这些类简单易用,几乎每个Qt开发人员都会用到它们——或者直接在源代码中,或者通过Qt设计师。使用Qt布局类的另外一个原因是:它们可以确保窗体能够自动适应于不同的字体、语言和系统平台。如果用户改变了系统

King_why_love的博客 556

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 机器学习之-利用svm(支持向量机)分类(opencv3)
下一篇: 图像压缩-数字图像处理
HelloZEX
博客等级 码龄11年 486粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值