QStackedWidget可用于创建类似于QTabWidget提供的用户界面。之前要显示不同的内容,都是通过创建子窗口的方式来实现的,这种是属于弹窗式,而QStackedWidget可以实现同一界面切换不同的窗口,相当于把弹窗式的子窗口都绑定到了一个统一的区域,直接切换就可以显示不同子窗口的内容,但是每次只能显示一个子窗口,这个和弹窗不一样。

完整代码下载


百度网盘链接:https://pan.baidu.com/s/1DLOk1ucpAbY8X6Ncu8HYvQ 
提取码:kht9

CSDN下载:https://download.csdn.net/download/mars_xiaolei/11060743

本示例创建步骤


1、打开Qt Creator,新建一个Qt Widgets Application项目,添加控件Stacked Widget和PushButton,然后再添加3个子窗口类,分别取名为Rng、Edg、Ig,每个子窗口各添加一个Label控件用于显示战队名字。

2、UI设计完后,开始添加代码

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include "rng.h"
#include "edg.h"
#include "ig.h"namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private slots:void ChooseWidgets();
private:Ui::MainWindow *ui;Rng *rngWidget;Edg *edgWidget;Ig *igWidget;
};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>int firstIndex=0;MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);//设置窗口名字setWindowTitle(tr("LPL战队切换系统"));Rng *rngWidget=new Rng(this);Edg *edgWidget=new Edg(this);Ig *igWidget=new Ig(this);//添加页面ui->stackedWidget->addWidget(rngWidget);ui->stackedWidget->addWidget(edgWidget);ui->stackedWidget->addWidget(igWidget);//显示页面作为主页ui->stackedWidget->setCurrentWidget(rngWidget);//获取当前页面的序号firstIndex=ui->stackedWidget->currentIndex();qDebug()<<"firstIndex:"<<firstIndex;//连接信号槽connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(ChooseWidgets()));
}MainWindow::~MainWindow()
{delete ui;
}//切换页面
void MainWindow::ChooseWidgets()
{//获取页面的数量int nCount = ui->stackedWidget->count();//获取当前页面的索引int nIndex = ui->stackedWidget->currentIndex();//获取下一个需要显示的页面索引nIndex++;//当需要显示的页面索引大于等于总页面时,切换至首页if (nIndex >= nCount){nIndex = firstIndex;}//显示当前页面ui->stackedWidget->setCurrentIndex(nIndex);
}

注意事项


新添加的Stacked Widget控件是有两个空白页面可以切换的,页面的索引是从0开始的,也就是说两个空白页面占据了0和1,如果新添加了页面,那就是索引号从2开始。还要注意的是页面有两种切换方式,一种是索引号,另外一种是按窗口名称,窗口名称这种在切换的时候不太好用,会报错,最好还是使用索引号。

QStackedWidget::setCurrentWidget: widget 0x75ec1490 not contained in stack

《Qt5:同一个界面多窗口或者多页面切换(QStackedWidget)》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. 1Python进阶强化训练之装饰器使用技巧进阶
  2. word2vec (一) 简介与训练过程概要
  3. Python 爬虫实现天气查询(可视化界面版)
  4. sklearn中的分类决策树
  5. MySQL 高级 游标基本操作
  6. 规范HTML页的几点注意
  7. c语言判断出多位各位数
  8. Tomcat安装及Eclipse配置教程
  9. TypeError: can't pickle _thread.RLock objects
  10. flex 学习笔记 皮肤(一)
  11. 【PHP基础】文件操作
  12. 中科院分区2020_2020年中科院分区升级版出炉,材料化学物理类一区期刊115本!...
  13. 适配器模式C++实现
  14. 李宏毅机器学习笔记day3
  15. 链表在java中的应用_Java链表
  16. 前后端分离单页面应用(SPA)项目示例(Vue+ElementUI+Axios+Django+MySql)
  17. 我爱淘冲刺阶段站立会议每天任务4
  18. fabric 中 peer 和 couch 容器内部数据存放目录地址
  19. 管人用人育人留人之道-海潮效应
  20. 软件测试--【软件测试和bug】

热门文章

  1. EasyRecovery 15 mac中文免费密钥数据恢复 安装软件的方法教程及版本对比
  2. 吊打面试官、分享这份MySQL开发魔典,从入门到通关白皮书
  3. UG/NX二次开发-阿飞博客专栏目录(九块九抄代码)
  4. windows系统C盘“已用空间”不断增大
  5. 用C语言写钢琴小程序的代码,用C语言编写钢琴小程序
  6. 安卓和IOS系统下字体样式的不同
  7. Java开发 - 树(二叉树,二叉排序树,红黑树)
  8. WPF 录屏软件研发心得及思路分享(已结束开发)
  9. 京东数科DevOps落地攻略
  10. Unity限制旋转角度