QT之多个界面相互切换 (stackedWidget控件)

news2024/11/27 22:26:08

@TOC


在这里插入图片描述

Chapter1 QT之多个界面相互切换 (stackedWidget控件)

原文链接

stackedWidget控件: 可以自由在多个widget切换,可以通过点击顶部菜单,显示不同界面,在实际开发中应用很广泛。

QStackedWidget是一个堆栈窗口控件,使用QStackedLayout布局,可以填充一些小控件,但同一时间只有一个小控件可以显示。QStackedWidget控件与QTabWidget类似,可以有效地显示窗口中的控件。QStackedWidget类实现组件层叠,但它是一个组件,而不是一个容器。

addWidget(QWidget widget) - 将一个组件添加到容器的末尾,返回添加组件的索引;

insertWidget(int index,QWidget widget) - 将组件添加到指定的容器位置,返回添加组件的索引;

setCurrentIndex (int index) - 将索引为index的组件设为可见,是个槽函数。

currentIndex () - 返回可见组件的索引;

setCurrentWidget(QWidget widget) - 将组件设为可见,是个槽函数。

currentWidget() - 返回可见组件;

stackingMode () - 返回层叠组件的可见方式;

count( ) - 返回容器中组件的数量;

widget (int index) - 返回索引值为index的组件。如果不存在,返回None.

QStackedWidget继承自QFrame。

QStackedWidget类提供了多页面切换的布局,一次只能看到一个界面。

QStackedWidget可用于创建类似于QTabWidget提供的用户界面。

1. 添加控件, 在设计界面左侧添加 stackedWidget控件

在这里插入图片描述

2. 增加几个 widget 界面

在这里插入图片描述

3. 将这几个 widget 插入到 stackedWidget(非常重要,建议用 insertWidget)

首先定义 一个枚举量, 存放每个界面的编号

enum eStackedWidgetID{eForm1 = 0,eForm2,eForm3};  // 页码编号

在添加时候,建议用 insertWidget 而不用 addWidget,这样在切换界面时候不容易出错,调整顺序和增加新界面时候, 只需修改上面的枚举,其他不用修改。

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    m_form1 = new Form1(this);
    m_form2 = new Form2(this);
    m_form3 = new Form3(this);
 
    ui->stackedWidget->insertWidget(eForm1,m_form1);
    ui->stackedWidget->insertWidget(eForm2,m_form2);
    ui->stackedWidget->insertWidget(eForm3,m_form3);
 
    ui->stackedWidget->setCurrentIndex(eForm1);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
void MainWindow::on_pushButton_clicked()
{
    ui->stackedWidget->setCurrentIndex(eForm1);
}
 
void MainWindow::on_pushButton_2_clicked()
{
    ui->stackedWidget->setCurrentIndex(eForm2);
}
 
void MainWindow::on_pushButton_3_clicked()
{
     ui->stackedWidget->setCurrentIndex(eForm3);
}

Chapter2

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

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

相关文章

tp6使用Spreadsheet报错:Class ‘PhpOffice\PhpSpreadsheet\Spreadsheet‘ not found

问题提示如下: 可能vendor下的 phpoffice是从别的项目拷贝过来的,所以咋都不行 解决办法是删掉vendor下的phpoffice,用composer重新下载 具体操作:1、在项目根目录下cmd执行下面这条命令 composer require phpoffice/phpspread…

【Linux】 shutdown 命令使用

shutdown 命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。使用权限:系统管理者。 语法 shutdown [选项] 时间 [警告信息] 命令选项及作用 执行令 man shutdown 执行命令结果 参…

矿山数字化react-native技术点记录

文章目录 1,宽度自适应表格实现2,新建作业手势动画3,tabBar中间midTabBar动态展示4,堆料图实现5,语音识别实现6,待办事项上下滑动切换页面7,装料卸料手势冲突8,首页初始化性能9&…

有活动啦 | 同立海源年终大促,满额赠礼!

秋天是倒放的春天 时间不停流转 四季马不停蹄 转眼间 距离2024年还有59天啦! 在这个最美的季节 同立海源,年终大促,携礼而来! 关于同立海源 北京同立海源生物科技有限公司,专注细胞和基因治疗(CGT&am…

都是80m²小户型,凭啥她家那么好看!福州中宅装饰,福州装修

杨桥新苑 本案来自杨桥新苑的住宅, 质朴弥漫在80㎡的小家, 自然淡雅的木纹,精炼的玄关隔断, 简约的设计里传达着中式的静谧风雅, 简练的空间加入中国元素, 让人从进门开始就沾染一丝艺术气息。 风格&a…

库尔勒春雨社会工作服务中心开展“三金西瓜霜‘爱牙公益行’善网公益资源对接

为进一步增强辖区居民口腔健康观念和口腔保健意识,加大口腔防治知识宣传教育,促进形成良好的口腔健康行为。10月29日,库尔勒市春雨社会工作服务中心联合库尔勒市天山街道未成年人保护站开展“三金西瓜霜‘爱牙公益行’─善网公益资源对接”公…

uniapp原生插件之安卓客户端之间wifi文件传输

插件介绍 安卓客户端之间文件传输,支持大文件传输,Wifi/热点文件传输,轻松传送1G文件 插件地址 安卓客户端之间wifi文件传输 - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 使用文档 详细使用文档 示例文件 百度网盘链接&a…

精品Python的旅游数据可视化大屏平台-爬虫-景点门票

《[含文档PPT源码等]精品基于Python的旅游数据可视化平台-爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: 开发语言:python 使用框架:Flask 前端技术&…

突破性技术!开源多模态模型—MiniGPT-5

多模态生成一直是OpenAI、微软、百度等科技巨头的重要研究领域,但如何实现连贯的文本和相关图像是一个棘手的难题。 为了突破技术瓶颈,加州大学圣克鲁斯分校研发了MiniGPT-5模型,并提出了全新技术概念“Generative Vokens "&#xff0c…

Java Web 学习笔记(一) —— MySQL(2)

目录 1 约束1.1 约束概述1.2 非空约束1.3 唯一约束1.4 主键约束1.5 默认约束1.6 外键约束 2 数据库设计2.1 数据库设计概述2.2 表关系 3 多表查询3.1 多表查询概述3.2 内连接查询3.3 外连接查询3.4 子查询 4 事务4.1 事务概述4.2 四大特征 1 约束 1.1 约束概述 约束是作用于表…

SPSS游程检验

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

2023年汉字小达人市级比赛的几个新问题和备赛建议

昨天(2023年11月2日),中文自修杂志社在官网公布了2023年第十届小学生汉字小达人区级比赛的结果,公布了区级比赛的获奖名单。 六分成长昨天第一时间把这个消息告诉了关注这项比赛的父母和孩子们,也就2023年汉字小达人的…

vue需求:实现签章/签字在页面上自由定位的功能(本质:元素在页面上的拖拽)

目录 第一章 效果展示 第二章 了解工具 2.1 draggable 2.1.1 了解draggable 2.1.2 draggable方法 2.1.3 利用例子理解方法 第三章 效果实现 3.1 实现思路 3.2 代码实现 3.2.1 涉及到的点 3.2.2 源代 第一章 效果展示 效果描述:通过点击左边栏的签名和…

Windows Server 2016使用MBR2GPT.EXE教程!

什么是MBR2GPT.exe? MBR2GPT.exe是微软提供的专业工具,可在命令提示符下运行。使用该工具可以将引导磁盘从MBR转换为GPT分区样式,而无需修改或删除所选磁盘上的任何内容。 在Windows Server 2019和Windows 10(1703…

Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍

目录 一. Redis简介 二. Redis的安装 2.1 Linux版安装 2.2 windows版安装 三. Redis的常用命令 一. Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它…

蓝凌EIS智慧协同平台任意文件上传漏洞

蓝凌EIS智慧协同平台任意文件上传漏洞 免责声明漏洞描述漏洞影响漏洞危害网络测绘Fofa: icon_hash"953405444" 漏洞复现1.构造poc2. 发送数据包,获取文件路径3. 访问webshellwebshell地址: 免责声明 仅用于技术交流,目的是向相关安全人员展示…

多用户商城系统对比 多用户商城系统哪个好

大环境越来越好,企业纷纷将消费者引入自己建设的独立商城,如零食行业的良品铺子、三只松鼠,从而打造属于自己的IP形象。此时,挑选一款优秀的商城源码是企业的不二之选。这里将国内三大优秀的多用户商城系统进行对比,以…

OpenAI最新官方GPT最佳实践指南,一文讲清ChatGPT的Prompt玩法

原文:Sina Visitor System OpenAI的官网发表万字GPT最佳实践指南,讲清Prompt提示词的原则和策略,这里是总结和全文翻译 原创图像,AI辅助生成 OpenAI的官网上刚刚发表一篇万字的GPT最佳实践指南,这份指南把写好Promp…

闯关打卡小程序的效果如何

闯关打卡是一种以任务关卡为基础的打卡模式,管理员可配置活动任务关卡,成员加入任务后需依次解锁,打卡完成任务,像闯关游戏一样完成所有任务。 通过打卡活动聚集一群有共同目标、兴趣的人,通过打卡的方式促进共同目标…

青翼科技-国产化ARM系列TES720D-KIT

板卡概述 TES720D-KIT是专门针对我司TES720D(基于复旦微FMQL20S400的全国产化ARM核心板)的一套开发套件,它包含1个TES720D核心板,加上一个TES720D-EXT扩展底板。 FMQL20S400是复旦微电子研制的全可编程融合芯片,在单…