PyQt5可视化 7 饼图和柱状图实操案例 ①Qt项目的创建
目录
一、新建Qt项目
二、添加组件和布局
三、添加资源
1. 新建资源文件
2. 添加图标资源
四、frameHead
1. toolBtnGenData
2. toolBtnCounting
3. comboTheme
4. comboAnimation
5. Horizontal Spacer
6. toolBtnQuit
7. 设置toolBtnQuit的功能
8. frameHead的属性
9. 布局
10. frameHead的层次
五、frameData
1. groupBoxGrade
2. groupBoxCount
3. frameData布局
4. 设置treeWidget内容
5. 设置treeWidget属性
5.5.1 不可以被编辑
5.5.2 宽度、大小设置
6. frameData的层次
7. 布局
六、tabWidget
1. 添加和设置tab
6.1.1 修改当前两个tab的属性
6.1.2 添加新页面
6.1.3 tabWidget的层次
2. tabBar柱状图页
6.2.1 widgetBar
6.2.2 tabStackedBar层叠柱状图页
6.2.3 tabPercentBar百分比柱状图页
6.2.4 tabPieChart饼图页
一、新建Qt项目
二、添加组件和布局
添加两个frame和一个tabWidget,两个frame分别命名为frameHead和frameData,放置的位置如图
当前的结构如图
三、添加资源
1. 新建资源文件
2. 添加图标资源
四、frameHead
1. toolBtnGenData
放一个tool button,命名为toolBtnGenData,text设为重新生成数据,icon如图,tooltip为重新生成数据并统计
2. toolBtnCounting
放一个tool button,命名为toolBtnCounting,text为重新统计,tooltip为重新统计,icon如图
label
图表主题
3. comboTheme
放一个combo box,命名为comboTheme
双击组件,在弹出的组合框中输入如下内容
label
图表动画效果
4. comboAnimation
放一个combo box,命名为comboAnimation,内容如下
5. Horizontal Spacer
6. toolBtnQuit
放一个tool button,命名为toolBtnQuit, tooltip为退出,text为退出,图标如下
7. 设置toolBtnQuit的功能
8. frameHead的属性
9. 布局
选择frameHead,设置成水平布局,效果如下
10. frameHead的层次
五、frameData
在frameData里面放两个group box,上下排列,分别为groupBoxGrade和groupBoxCount
1. groupBoxGrade
在这个group box里面放一个tableView,命名为tableView
层次结构为
界面样子为
选择groupBoxGrade,选择水平布局,变成这样
2. groupBoxCount
放一个treeWidget,命名就叫treeWidget
选择groupBoxCount,设为栅格布局
3. frameData布局
4. 设置treeWidget内容
双击treeWidget
设置各列属性为居中
项目
5. 设置treeWidget属性
5.5.1 不可以被编辑
这是统计表,不允许编辑里面的数据,设置成不可编辑的
点开editTriggers前面的符号
取消其中的两个勾
editTriggers属性设为NnEditTriggers
5.5.2 宽度、大小设置
6. frameData的层次
7. 布局
选中frameData,设为垂直布局,变成这样
六、tabWidget
1. 添加和设置tab
6.1.1 修改当前两个tab的属性
选中tabWidget,修改三个current属性
换tab_2,修改
完成后是这样的
6.1.2 添加新页面
选中treeWidget,点右键,选择在当前页之后插入页
设置
再插入一个,设置
插入后,变成这样
6.1.3 tabWidget的层次
2. tabBar柱状图页
6.2.1 widgetBar
在该页下放一个widget,命名为widgetBar
选中tabWidget,选择水平布局,这时widgetBar填充满整个tabWidget区域,在上面放组件。
在wigdetBar上放一个frame和一个Graphis View。
frame命名为frameBar,frameShape设为Panel
在frameBar放两个push Button和一个horizontal Spacer。两个push Button分别命名为btnBuildBarChart和btnBuildBarChartH,text为绘制柱状图和绘制水平柱状图。
将frameBar设置为水平布局
在graphics View上点右键,选提升为
如图进行设置
点击添加按钮
提升完后,将其改名为chartViewBar。
层次结构如图
点击tabWidget,将当前页设为垂直布局,如图
6.2.2 tabStackedBar层叠柱状图页
将tabBar里面的frameBar和chartViewBar拷贝到tabStackedBar下。点击tabWidget,设置垂直布局。修改相应名称
显示如下
6.2.3 tabPercentBar百分比柱状图页
照样拷贝,修改
6.2.4 tabPieChart饼图页
将tabBar里面的frameBar和chartViewBar拷贝到tabPieBar下。点击tabWidget,设置垂直布局。修改相应名称
删除framePie上的两个按钮和一个Spacer
右键点击framePie,选择打破布局,等所有组件都放了后再布局
在framePie上放一个label,一个Combo Box,一个push Button,一个label,一个double spinbox,一个label,一个double spinbox,一个checkbox和一个horizontal spacer
其中combobox命名为comboCourse,内容如下
pushbutton命名为tbnDrawPieChart,text为绘制饼图
两个double spin box分别命名为spinHoleSize和spinPieSize,属性如下
checkBox命名chkBoxPieLegend,属性如下
再放一个horizontal spacer
放好后层次结构
设置framPieBar布局为水平布局
显示如图
相关文章:

PyQt5可视化 7 饼图和柱状图实操案例 ①Qt项目的创建
目录 一、新建Qt项目 二、添加组件和布局 三、添加资源 1. 新建资源文件 2. 添加图标资源 四、frameHead 1. toolBtnGenData 2. toolBtnCounting 3. comboTheme 4. comboAnimation 5. Horizontal Spacer 6. toolBtnQuit 7. 设置toolBtnQuit的功能 8. frameHead的…...

0104路径搜索和单点路径-无向图-数据结构和算法(Java)
文章目录2 单点路径2.1 API2.2 算法实现后记2 单点路径 单点路径。给定一幅图和一个起点s,回答“从s到给定的目的顶点v是否存在一条路径?如果有,找出这条路径。”等类似问题。 2.1 API 单点路径问题在图的处理邻域中十分重要。根据标准设计…...

Maxscale读写分离实施文档
Maxscale介绍 MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以根据主从状态实现写库的自动切换。 使用Maxscale无需对业务代码进行修改,其自带的读写分离模块,能够解析SQL语句&…...
websocket实现一个简单聊天框
websoket在客户端的使用 事件:open/message/error/close 方法:send/close var socket new WebSocket(url)// 服务连接成功时触发 socket.addEventListener(open, function() {console.log("连接成功了") })// 主动给websocket发消息 socket…...
Docker-安装应用
一、安装Tomcat 注意:新版Tomcat安装之后启动访问会出现404 修改:删除原有的webapps目录,修改webapps.dist为webapps 免修改版本:billygoo/tomcat8-jdk8 二、安装Mysql 1、安装 拉取镜像 docker pull mysql:5.7 运行镜像…...

Web3中的营销:如何在2023年获得优势
Mar. 2022, Daniel在过去的一年里,让人们对你的Web3项目或协议感兴趣已经变得越来越有挑战性。许多曾经充满希望的项目因为各种不同的原因,都在熊市中倒下了。然而,那些迄今为止幸存下来的项目都有一个共同点:强大的社区。Web3营销…...
Java中==和equals区别
文章目录Java中和equals区别1. Integer中和equals的问题1.1 Integer类型且不是通过new创建的比较1.2 手动new Integer()创建的比较1.3 Integer和int比较2. String中和equals的问题3. DemoJava中和equals区别 equals是方法,是运算符: 如果比较的对象是基…...

计算机科学导论笔记(三)
五、计算机组成 计算机组成部件可以分为三大类(子系统):中央处理单元(CPU)、主存储器和输入/输出子系统。 5.1 中央处理单元(CPU) 中央处理单元用于数据的运算,分为算术逻辑单元&a…...

Stream——数字类型的字符串排序
文章目录前言什么是数字类型的字符串一个简单的坑demo拯救坑代码对象集合中的数字类型排序(有坑)对象集合中的数字类型排序 解决扩展将数字类型字符串数组转换为Integer集合总结前言 想到给数据进行排序,一开始头脑中想到的就是sorted(),本篇文章重点说…...

.NET 8 预览版 1 发布!
.NET 8 是一个长期支持(LTS) 版本。这篇文章涵盖了推动增强功能优先级排序和选择开发的主要主题和目标。.NET 8 预览版和发布候选版本将每月交付一次。像往常一样,最终版本将在 11 月的某个时候在 .NET Conf 上发布。 .NET 版本包括产品、库、运行时和工具…...
WebGIS学习路线
7年经验的webgis码农在此文跟大家分享一些一路走来的所见所闻。希望能帮助刚刚跨入这个门槛的你。 入门之前我相信你已经搞清楚了以下几个问题: 1.什么是webgis? 2.webgis能够解决什么样的问题? 3.为什么你要学习webgis? 如果还没考虑清楚也没关系,可能你看完这篇文章…...
【独家】华为OD机试 - 停车场最大距离(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...
12.typedef的使用与结构体定义
欢迎访问个人网络日志🌹🌹知行空间🌹🌹 文章目录1.基础介绍2.typedef 的常用的几种情况3.使用typedef可能出现的问题参考资料1.基础介绍 typedef是C/C语言中保留的关键字,用来定义一种数据类型的别名。 typedef并没有…...

宝塔+docker+jenkins部署vue项目(保姆级教程)
1.使用宝塔安装docker 在软件商城安装Docker管理器 2.使用docker下载jenkins镜像 使用命令行 docker pull jenkins/jenkins:lts //lts表示支持版本较长3.创建并且挂载jenkins目录并赋值 jenkins_home为我创建的目录 可以修改任意目录 mkdir -p /jenkins_home cho…...

JVM面试总结
1.java内存模型JMM是java的内存模型,JMM-也叫Java Memory Model,这里反应翻译成存储更好,因为工作内存指的不是内存.而是CPU寄存器,主内存才是内存.屏蔽了各种硬件和操作系统的内存访问差异-把硬件的细节封装起来,实现让java程序在各平台下都能达到一致的内存访问效果,它定义了…...

C语言——文件操作
文章目录0. 思维导图1. 为什么使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名3. 文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭4. 文件的顺序读写4.1 字符/字符串写入(出)4.2 格式化写入(出)4.3 二进制输入&#…...
使用aim7测试内核性能变化
aim7是一个功能强大的性能测试套件,可以用来测试内核的性能变化情况,尤其是在修改内核源码后,用来测试补丁对内核性能的影响情况。aim7测试结果中有一个重要的统计项:jobs/min,即每分钟完成的任务数量,可以…...

C++——内存管理
一,为什么要有内存管理因为在C/C中各个内置类型或者是自定义类型的大小都不一样,而如何让各个类型在内存中合理分布就非常有必要,由此我们就需要有内存管理。我们来看看下面这个程序中的各个变量都是如何分布的int globalVar 1; static int …...

AOP的另类用法 (权限校验自定义注解)
👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 AOP的另类用法 (权限校验&&自定义注解) 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉…...

[数据结构]:12-快速排序(顺序表指针实现形式)(C语言实现)
目录 前言 已完成内容 快速排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...