PyQt5可视化 7 饼图和柱状图实操案例 ①Qt项目的创建

news2024/11/15 9:20:05

目录

一、新建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布局为水平布局

显示如图

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

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

相关文章

设计模式(十六)----结构型模式之代理享元模式

1、概述 定义: 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 2 结构 享元(Flyweight )模式中存在以下两种状…

CentOS系统安装部署Zabbix

1、LNMP环境部署: 1)系统升级: yum update -y 2)安装依赖库: yum install -y zlib pcre pcre-devel openssl openssl-devel 3)添加用户www,那么也自动创建了用户组:www&#xf…

C/C++开发,无可避免的多线程(篇五).实现自己的线程封装类

一、c11以前的线程封装版本 在本专栏的多线程课题第一篇就说过&#xff0c;c11标准前&#xff0c;实现多线程事务是由调用的<pthread.h>头文件的线程相关功能函数来实现的。 现在通过<pthread.h>的pthread_create、pthread_join、pthread_exit等功能函数来封装一个…

VRRP主备备份

1、VRRP专业术语 VRRP备份组框架图如图14-1所示: 图14-1:VRRP备份组框架图 VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,如SwitchA和SwitchB。虚拟路由器(Virtual Router):又称VRR…

元宇宙、区块链 通俗易懂

什么是区块链&#xff1f;比特币挖矿是什么&#xff1f;元宇宙是什么&#xff1f;Web(万维网)的三权化进化&#xff1a;基于此&#xff0c;介绍下“元宇宙”。1992年&#xff0c;美国作家史蒂芬森在《雪崩》一书中首次提出了“元宇宙(Metaverse)”的概念。元宇宙实际上就是一种…

新C++(13):布隆过滤器

"明白成功&#xff0c;不一定赢在起跑线!"位图反思上篇呢&#xff0c;我们在遇到海量数据时&#xff0c;如果只是进行诸如&#xff0c;查找一个数在不在这样的简单逻辑情况&#xff0c;在使用数组这样的内存容器&#xff0c;无法存储这么多数据时&#xff0c;我们采用…

计算机网络第八版——第三章课后题答案(超详细)

第三章 该答案为博主在网络上整理&#xff0c;排版不易&#xff0c;希望大家多多点赞支持。后续将会持续更新&#xff08;可以给博主点个关注~ 第一章 答案 第二章 答案 【3-01】数据链路&#xff08;即逻辑链路&#xff09;与链路&#xff08;即物理链路&#xff09;有何区…

Numpy/Pandas常用函数

&#x1f442; 不露声色 - Jam - 单曲 - 网易云音乐 目录 &#x1f33c;前言 &#x1f44a;一&#xff0c;Python列表函数 &#x1f44a;二&#xff0c;Numpy常用函数 1&#xff0c;生成数组 2&#xff0c;描述数组属性 3&#xff0c;常用统计函数 4&#xff0c;矩阵运…

Soul 云原生网关最佳实践

作者&#xff1a;Soul 运维 公司介绍 Soul 是基于兴趣图谱和游戏化玩法的产品设计&#xff0c;属于新一代年轻人的虚拟社交网络。成立于2016年&#xff0c;Soul 致力于打造一个“年轻人的社交元宇宙”&#xff0c;最终愿景是“让天下没有孤独的人”。在 Soul&#xff0c;用户…

springboot复习(黑马)(持续更新)

学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于SpringBoot的完成SSM整合项目开发一、SpringBoot简介1. 入门案例问题导入SpringMVC的HelloWord程序大家还记得吗&#xff1f;SpringBoot是由Pivotal团队提供的全新框架&#xff0c;其设计…

为什么低代码最近又火了起来?是钉钉的原因吗?

为什么低代码最近又火了起来&#xff1f;是钉钉的原因吗&#xff1f; 钉钉的入局固然推动了人们对于低代码的讨论&#xff0c;但低代码由来已久&#xff0c;其火爆其实是大势所趋。 那么本篇文章将来解读一下&#xff1a;为什么低代码最近又火了&#xff1f;是资本的推动还是…

佩戴舒适的蓝牙耳机有哪些?佩戴舒适的蓝牙耳机推荐

音乐对许多人而言&#xff0c;都是一种抚慰生命的力量&#xff0c;特别是在上下班的时候&#xff0c;在熙熙攘攘的人流中&#xff0c;戴着耳机听一首动听的曲子&#xff0c;无疑会让人心情变得更加舒畅&#xff0c;要想获得出色的音乐体验&#xff0c;没有一副出色的耳机可不行…

动态内存基础(三)

动态内存的相关问题 ● sizeof 不会返回动态分配的内存大小 #include<iostream> #include<new> #include<memory> #include<vector> int main(int argc, char *argv[]) {int* ptr new int(3);std::cout << sizeof(ptr) << std::endl; //…

阶段式/瀑布完整软件研发流程

软件产品开发流程&#xff1a;下图所示的是一个软件产品开发大体上所需要经历的全部流程&#xff1a;编辑1、启动在项目启动阶段&#xff0c;主要确定项目的目标及其可行性。我们需要对项目的背景、干系人、解决的问题等等进行了解。并编制项目章程和组建项目团队&#xff0c;包…

STM32实战项目-状态机函数应用

前言&#xff1a; 本章主要介绍一下&#xff0c;状态机在工程中的应用&#xff0c;下面我会通过这种方式点亮LED灯&#xff0c;来演示他的妙用。 目录 1、状态机应用 1.1流水灯函数 1.1.1led.h 1.1.2led.c 1.2状态机函数 1.2.1定义举常量 1.2.2结构体封装 1、状态机应…

设计模式-01

1&#xff0c;设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中&#xff0c;而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大&#xff08;Christopher Alexand…

VUE3使用JSON编辑器

1、先看看效果图&#xff0c;可以自行选择展示效果 2、这是我在vue3项目中使用的JSON编辑器&#xff0c;首先引入第三方插件 npm install json-editor-vue3yarn add json-editor-vue33、引入到项目中 // 导入模块 import JsonEditorVue from json-editor-vue3// 注册组件 …

【pytorch onnx】Pytorch导出ONNX及模型可视化教程

文章目录1 背景介绍2 实验环境3 torch.onnx.export函数简介4 单输入网络导出ONNX模型代码实操5 多输入网络导出ONNX模型代码实操6 ONNX模型可视化7 ir_version和opset_version修改8 致谢原文来自于地平线开发者社区&#xff0c;未来会持续发布深度学习、板端部署的相关优质文章…

RocketMQ5.1控制台的安装与启动

RocketMQ控制台的安装与启动下载修改配置开放端口号重启防火墙添加依赖编译 rocketmq-dashboard运行 rocketmq-dashboard本地访问rocketmq无法发送消息失败问题。connect to &#xff1c;公网ip:10911&#xff1e; failed下载 下载地址 修改配置 修改其src/main/resources中…

【操作系统原理实验】银行家算法模拟实现

选择一种高级语言如C/C等&#xff0c;编写一个银行家算法的模拟实现程序。1) 设计相关数据结构&#xff1b;2) 实现系统资源状态查看、资源请求的输入等模块&#xff1b;3) 实现资源的预分配及确认或回滚程序&#xff1b;4) 实现系统状态安全检查程序&#xff1b;5) 组装各模块…