【QT】多层QTreeWidget与QStackedWidget的关联操作

通过点击多层QTreeWidget来控制QStackedWidget中的page页面切换
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. treeWidget设计
    在这里插入图片描述
    在这里插入图片描述

treeWidget设计:

    // treeWidget设计ui->treeWidget->clear();ui->treeWidget->setColumnCount(1);//第一层QStringList l;l<<"管理系统";QTreeWidgetItem *pf = new QTreeWidgetItem(ui->treeWidget,l);ui->treeWidget->addTopLevelItem(pf);//第二层l.clear();l<<"学生管理";QTreeWidgetItem *p1 = new QTreeWidgetItem(pf,l);l.clear();l<<"管理员管理";QTreeWidgetItem *p2= new QTreeWidgetItem(pf,l);pf->addChild(p1);pf->addChild(p2);//第三层l.clear();l<<"学校学生信息管理";QTreeWidgetItem *pi = new QTreeWidgetItem(p1,l);l.clear();l<<"学校学生成绩管理";QTreeWidgetItem *ps = new QTreeWidgetItem(p1,l);p1->addChild(pi);p1->addChild(ps);//第四层l.clear();l<<"2020级";QTreeWidgetItem *p20 = new QTreeWidgetItem(ps,l);l.clear();l<<"2021级";QTreeWidgetItem *p21 = new QTreeWidgetItem(ps,l);l.clear();l<<"2022级";QTreeWidgetItem *p22 = new QTreeWidgetItem(ps,l);l.clear();l<<"2023级";QTreeWidgetItem *p23 = new QTreeWidgetItem(ps,l);//父          子ps->addChild(p20);ps->addChild(p21);ps->addChild(p22);ps->addChild(p23);//第五层l.clear();l<<"自动化专业";QTreeWidgetItem *p201 = new QTreeWidgetItem(p20,l);l.clear();l<<"智能科学与技术专业";QTreeWidgetItem *p202 = new QTreeWidgetItem(p20,l);//父          子p20->addChild(p201);p20->addChild(p202);l.clear();l<<"自动化专业";QTreeWidgetItem *p211 = new QTreeWidgetItem(p21,l);l.clear();l<<"智能科学与技术专业";QTreeWidgetItem *p212 = new QTreeWidgetItem(p21,l);//父          子p21->addChild(p211);p21->addChild(p212);l.clear();l<<"自动化专业";QTreeWidgetItem *p221 = new QTreeWidgetItem(p22,l);l.clear();l<<"智能科学与技术专业";QTreeWidgetItem *p222 = new QTreeWidgetItem(p22,l);//父          子p22->addChild(p221);p22->addChild(p222);l.clear();l<<"自动化专业";QTreeWidgetItem *p231 = new QTreeWidgetItem(p23,l);l.clear();l<<"智能科学与技术专业";QTreeWidgetItem *p232 = new QTreeWidgetItem(p23,l);//父          子p23->addChild(p231);p23->addChild(p232);//第六层//20-自动化l.clear();l<<"1班";QTreeWidgetItem *p2011 = new QTreeWidgetItem(p201,l);l.clear();l<<"2班";QTreeWidgetItem *p2012 = new QTreeWidgetItem(p201,l);l.clear();l<<"3班";QTreeWidgetItem *p2013 = new QTreeWidgetItem(p201,l);//父          子p201->addChild(p2011);p201->addChild(p2012);p201->addChild(p2013);//20-智科l.clear();l<<"1班";QTreeWidgetItem *p2021 = new QTreeWidgetItem(p202,l);l.clear();l<<"2班";QTreeWidgetItem *p2022 = new QTreeWidgetItem(p202,l);//父          子p202->addChild(p2021);p202->addChild(p2022);//21-自动化l.clear();l<<"1班";QTreeWidgetItem *p2111 = new QTreeWidgetItem(p211,l);l.clear();l<<"2班";QTreeWidgetItem *p2112 = new QTreeWidgetItem(p211,l);l.clear();l<<"3班";QTreeWidgetItem *p2113 = new QTreeWidgetItem(p211,l);//父          子p211->addChild(p2111);p211->addChild(p2112);p211->addChild(p2113);//21-智科l.clear();l<<"1班";QTreeWidgetItem *p2121 = new QTreeWidgetItem(p212,l);l.clear();l<<"2班";QTreeWidgetItem *p2122 = new QTreeWidgetItem(p212,l);//父          子p212->addChild(p2121);p212->addChild(p2122);//22-自动化l.clear();l<<"1班";QTreeWidgetItem *p2211 = new QTreeWidgetItem(p221,l);l.clear();l<<"2班";QTreeWidgetItem *p2212 = new QTreeWidgetItem(p221,l);l.clear();l<<"3班";QTreeWidgetItem *p2213 = new QTreeWidgetItem(p221,l);//父          子p221->addChild(p2211);p221->addChild(p2212);p221->addChild(p2213);//20-智科l.clear();l<<"1班";QTreeWidgetItem *p2221 = new QTreeWidgetItem(p222,l);l.clear();l<<"2班";QTreeWidgetItem *p2222 = new QTreeWidgetItem(p222,l);//父          子p222->addChild(p2221);p222->addChild(p2222);//23-自动化l.clear();l<<"1班";QTreeWidgetItem *p2311 = new QTreeWidgetItem(p231,l);l.clear();l<<"2班";QTreeWidgetItem *p2312 = new QTreeWidgetItem(p231,l);l.clear();l<<"3班";QTreeWidgetItem *p2313 = new QTreeWidgetItem(p231,l);//父          子p231->addChild(p2311);p231->addChild(p2312);p231->addChild(p2313);//20-智科l.clear();l<<"1班";QTreeWidgetItem *p2321 = new QTreeWidgetItem(p232,l);l.clear();l<<"2班";QTreeWidgetItem *p2322 = new QTreeWidgetItem(p232,l);//父          子p232->addChild(p2321);p232->addChild(p2322);ui->treeWidget->expandAll();
  1. 关联
    在这里插入图片描述
    在这里插入图片描述
    选择on_treeWidget_itemClicked()函数
    重点是使用setCurrentWidget()和 判断语句
item->text(column) == "3班" 
&& item->parent() && item->parent()->text(column) == "自动化专业" 
&& item->parent()->parent() &&      item->parent()->parent()->text(column) == "2020级"

完整语句:

void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
{// 获取当前点击的项的文本// QString clickedItemText = item->text(column);// 根据点击的项进行处理if(item->text(column)=="学校学生信息管理"){ui->stackedWidget->setCurrentWidget(ui->pg_StuInfo);}else if(item->text(column)=="学校学生成绩管理"){ui->stackedWidget->setCurrentWidget(ui->pg_score);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2020级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2020级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "3班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2020级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2020级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2020级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2021级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2021级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "3班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2021级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2021级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2021级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2022级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2022级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "3班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2022级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2022级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2022级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2023级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2023级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "3班" && item->parent() && item->parent()->text(column) == "自动化专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2023级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "1班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2023级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}else if (item->text(column) == "2班" && item->parent() && item->parent()->text(column) == "智能科学与技术专业" && item->parent()->parent() &&item->parent()->parent()->text(column) == "2023级"){ui->stackedWidget->setCurrentWidget(ui->pg_20auto1);}}

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

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

相关文章

JavaWeb-HTTP

一、概念 HTTP&#xff1a;HyperText Transfer Protocol&#xff0c;超文本传输协议。读者应该不是第一次接触这个名词&#xff0c;但可能仍然不是很理解&#xff0c;笔者将逐一解释。 HyperText&#xff08;超文本&#xff09;&#xff1a;根据维基百科&#xff0c;Hypertex…

Linux数据处理的几个命令

文章目录 Linux数据处理的几个命令文件内容搜索利器 - grep语法默认无参数增加文件夹反向查找不区分大小写显示行数&#xff0c;精准定位 没有规矩不成方圆 sort语法默认无参数根据第N列排序检查是否已经排序逆序排列 你是唯一的 uniq语法默认无参数统计出现频次仅仅显示重复的…

Go语言的调度器

简介 Go语言的调度器是一个非常强大的工具&#xff0c;它可以帮助我们轻松地实现并发编程。调度器的工作原理是将多个协程映射到多个操作系统线程上&#xff0c;并根据协程的状态来决定哪个协程应该在哪个线程上运行。 调度器有两种主要策略&#xff1a; 协作式调度&#xf…

入门Linux简单操作

基本命令 scp ✓ scp -r 文件 127.0.0.1&#xff1a;/root/文件 (source->>>>destination) mv cp ✓ cp xxxx ./xxxx date ✓ 修改时间 date -s “yyyy-MM-dd 12:12:59” find ✓ find /home/user -name “*.txt” grep ✓ 管道 软连接 多用户 免密设置 脚…

iPhone“查找”最多可添加32个物品!

对于那些丢三落四的果粉来说&#xff0c;苹果的“查找”功能是一大福音。不管是丢失了iPhone、iPad、Mac、AirPods还是AirTag&#xff0c;都可以通过“查找”功能在地图上追踪设备的位置&#xff0c;甚至是远程锁定或抹掉设备的数据。 那么&#xff0c;iPhone的查找一次能支持添…

LeetCode 38 外观数列

题目描述 外观数列 给定一个正整数 n &#xff0c;输出外观数列的第 n 项。 「外观数列」是一个整数序列&#xff0c;从数字 1 开始&#xff0c;序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列&#xff1a; countAndSay(1) "1…

软件测试|解决Github port 443 : Timed out连接超时的问题

前言 GitHub是全球最大的开源代码托管平台之一&#xff0c;许多开发者和团队使用它来管理和协作开源项目。但在当下&#xff0c;我们在clone或者提交代码时会经常遇到"GitHub Port 443: Timed Out"错误&#xff0c;这意味着我们的电脑无法建立与GitHub服务器的安全连…

学习python仅此一篇就够了(函数进阶:lambda函数)

函数进阶 函数的多返回值 def ceshi1():return 1, 2x, y ceshi1() print(x) #1 print(y) #2 函数的多种传参方式 1.位置参数&#xff1a;调用函数时根据函数定义的参数位置来传递参数 def ceshi1(name,age):print(f"你的姓名是{name},你的年龄是{age}")ceshi1(…

xtu oj 1522 格子

题目描述 一个nm的网格&#xff0c;格子里最多能放一枚棋子&#xff0c;将k枚棋子随机放入不同的网格中&#xff0c;使得同行同列最多只有一枚棋子&#xff0c;请问概率是多少&#xff1f; 输入格式 第一行是一个整数T (1≤T≤512)&#xff0c;表示样例的个数。 以后每行一…

UniRepLKNet实战:使用UniRepLKNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集一些问题 摘要 大核卷积神经网络&#xff08;ConvNets&#xff09;近年来受到广泛关注&#xff0c;但仍存在两个关键问题需要进一步研究。首先&#xff0c;目前的大型卷积神经网络架构大…

设计模式之避免共享的设计模式Copy-on-Write模式

系列文章目录 设计模式之避免共享的设计模式Immutability&#xff08;不变性&#xff09;模式 设计模式之并发特定场景下的设计模式 Two-phase Termination&#xff08;两阶段终止&#xff09;模式 文章目录 系列文章目录一、Copy-on-Write是什么&#xff1f;二、应用 一、Cop…

士兵队列 +队列queue+模拟

士兵队列 队列queue 某部队进行新兵队列训练&#xff0c;将新兵从一开始按顺序依次编号&#xff0c;并排成一行横队&#xff0c;训练的规则如下&#xff1a;从头开始一至二报数&#xff0c;凡报到二的出列&#xff0c;剩下的向小序号方向靠拢&#xff0c;再从头开始进行一至三…

javacv和opencv对图文视频编辑-按指定间隔从视频抽取缩略图

1、java代码抽取视频缩略图 直接上代码 首先pom 引入了javacv和Thumbnails <!-- 引入javacv --><dependency><groupId>org.bytedeco</groupId><artifactId>javacv</artifactId><version>1.5.6</version></dependency>…

Spring Boot - Application Events 同步 VS 异步 发布订阅事件实战

文章目录 PreCode基础工程启动类切入口事件 发布事件同步 Listener异步Listener增加EnableAsync增加 Async 测试 Pre Spring Boot - Application Events 的发布顺序_ApplicationStartingEvent Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEv…

Android Lint的使用

代码检查方式一&#xff1a; Android Studio使用Lint进行代码检查 找到Analyze目录下的Inspect Code检查代码选项点击然后弹出下面这个框框&#xff0c;在这个列表选项中我们可以选择Inspect Code的范围&#xff0c;点击OK 待分析完毕后&#xff0c;我们可以在Inspection栏目中…

安装、运行和控制AI apps在您的计算机上一键式

pinokio 你是否曾为安装、运行和自动化 AI 应用程序和大模型而感到困惑&#xff1f;是否希望有一个简单而强大的工具来满足你的需求&#xff1f;如果是这样&#xff0c;那么 Pinokio 将会是你的理想选择&#xff01;Pinokio 是一款革命性的人工智能浏览器&#xff0c;是一个开…

Nocalhost 为 KubeSphere 提供更强大的云原生开发环境

1 应用商店安装 Nocalhost Server 已集成在 KubeSphere 应用商店&#xff0c;直接访问&#xff1a; 设置应用「名称」&#xff0c;确认应用「版本」和部署「位置」&#xff0c;点击「下一步」&#xff1a; 在「应用设置」标签页&#xff0c;可手动编辑清单文件或直接点击「安装…

【Tricore】基于主流芯片, 浅谈ECU多核架构与“核间通信”

文章目录 概要 整体架构 简单聊聊什么是多核架构和“核间通信”

力扣labuladong——一刷day91

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣208. 实现 Trie (前缀树)二、力扣648. 单词替换 前言 Trie 树又叫字典树、前缀树、单词查找树&#xff0c;是一种二叉树衍生出来的高级数据结构&#x…

2024.1.13

今天想开个新坑&#xff0c;于是我就开始学习数据结构了&#xff0c;那玩意怎么说呢&#xff0c;挺抽象的东西&#xff0c;有点难懂&#xff0c;我就一边做笔记一边暂停&#xff0c;就这么硬学&#xff0c;数据结构确实是编程中一个十分重要的东西&#xff0c;必须给他拿下昂。…