【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,一经查实,立即删除!

相关文章

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服务器的安全连…

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

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

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;可手动编辑清单文件或直接点击「安装…

HCIP-1

一、网络类型&#xff1a; 点到点 BMA&#xff1a;广播型多路访问 – 在一个MA网络中同时存在广播&#xff08;洪泛&#xff09;机制 NBMA&#xff1a;非广播型多路访问—在一个MA网络中&#xff0c;没有洪泛机制 MA&#xff1a;多路访问 在一个网段内&#xff0c;存在的节…

大模型实战营Day4 XTuner 大模型单卡低成本微调实战

本次讲师是一位从事算法工作的优秀贡献者。 一起来看看吧&#xff01; 本次课程内容主要有&#xff1a; 我将在此整理前三节的内容&#xff0c;第四节放在作业章节进行讲解&#xff1a; 同第三节的建立数据库中所提及到的&#xff0c;如果通用大模型在专用领域表现能力不强&…

普通两样本孟德尔随机化仍能发一区! | 孟德尔随机化周报(1.03-1.09)

欢迎报名2024年孟德尔随机化方法高级班课程&#xff01; 郑老师团队开设的孟德尔随机化高级班2024年1月20-21日开课&#xff0c;欢迎报名 孟德尔随机化,Mendilian Randomization&#xff0c;简写为MR&#xff0c;是一种在流行病学领域应用广泛的一种实验设计方法&#xff0c;利…

【C++ 程序设计入门基础】- 第4节-函数

1、函数 函数是对实现某一功能的代码的模块化封装。 函数的定义&#xff1a; 标准函数&#xff1a; 输入 n 对整数的 a、b &#xff0c;输出它们的和。 #include <iostream> #include <windows.h> using namespace std;int add(int a,int b);//函数原型声明int…

分享一个好用的免费在线扣图网址

具体效果 附地址 https://cutout.aiwave.cc/

dpdk20.11.9 编译arm版本以及在arm 应用中引用dpdk20.11.9

以往19版本的dpdk 都是可以直接用make 的方式进行编译, e.g, make Tx86_64-native-linux-gcc install 为了和客户那边用的DPDK 版本一致, 这次要用dpdk20.11.9, 并且要把之前跑在X86 版本的服务器上的程序跑在ARM 版本上. 目前有两个问题: 1. 编译出arm 版本的dpdk. 2. 把…

程序员副业之AI文库项目(超详细完整全流程)

引言 大家好&#xff0c;我是小黑&#xff0c;今天给大家介绍一个特别简单的项目&#xff0c;用AI辅助咱们来编写各种word&#xff0c;PPT等资料上传到百度文库、原创力、道客巴巴、csdn等平台赚取被动的睡后收益。 但要注意&#xff0c;只是辅助&#xff0c;即便是用AI辅助&…

Flink窗口(2)—— Window API

目录 窗口分配器 时间窗口 计数窗口 全局窗口 窗口函数 增量聚合函数 全窗口函数&#xff08;full window functions&#xff09; 增量聚合和全窗口函数的结合使用 Window API 主要由两部分构成&#xff1a;窗口分配器&#xff08;Window Assigners&#xff09;和窗口函…

wpf使用Popup封装数据筛选框--粉丝专栏

类似于DevExpress控件的功能 这是DevExpress的winform筛选样式&#xff0c;如下&#xff1a; 这是DevExpress的wpf筛选样式&#xff0c;如下&#xff1a; 这是Excel的筛选样式&#xff0c;如下&#xff1a; 先看效果 本案例使用wpf原生控件封装&#xff0c;功能基本上都满足…

04.neuvector进程策略生成与管控实现

原文链接&#xff0c;欢迎大家关注我的github 一、进程学习管控的实现方式 策略学习实现&#xff1a; 进程的学习与告警主要依据通过netlink socket实时获取进程启动和退出的事件: 1.创建netLink socket&#xff1b; 2.通过创建netlink的fd对进程的事件进行捕获与更新&#x…

复试 || 就业day14(2024.01.10)算法篇

文章目录 前言字符串中第二大的数字字符串中不同整数的数目判断句子是否为全字母句长度为三且各字符不同的子字符串检查是否区域内所有整数都被覆盖*重新分配字符使所有字符串都相等可以输入的最大单词数检查是否所有字符出现次数相同差的绝对值为 K 的数对数目至少在两个数组中…

2024.1.12每日一题

LeetCode 2085.统计出现过一次的公共字符串 2085. 统计出现过一次的公共字符串 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你两个字符串数组 words1 和 words2 &#xff0c;请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。 示例 1&#xff1a; 输…