QT基础 柱状图
目录
1.QBarSeries
2.QHorizontalBarSeries
3.QPercentBarSeries
4.QHorizontalPercentBarSeries
5.QStackedBarSeries
6.QHorizontalStackedBarSeries
从上图得知柱状的基类是QAbstractBarSeries,派生出来分别是柱状图的水平和垂直类,只是类型行不同
1.QBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QBarSeries *series = new QBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();axisY->setRange(0,15);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
2.QHorizontalBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;//![1]//![2]QHorizontalBarSeries *series = new QHorizontalBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple horizontal barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);axisX->applyNiceNumbers();//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);//![6]
3.QPercentBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QPercentBarSeries *series = new QPercentBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);
//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
4.QHorizontalPercentBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QHorizontalPercentBarSeries *series = new QHorizontalPercentBarSeries ();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);
//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
5.QStackedBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;//![1]//![2]QStackedBarSeries *series = new QStackedBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
6.QHorizontalStackedBarSeries
//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QHorizontalStackedBarSeries *series = new QHorizontalStackedBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple horizontal stacked barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
//![6]
相关文章:

QT基础 柱状图
目录 1.QBarSeries 2.QHorizontalBarSeries 3.QPercentBarSeries 4.QHorizontalPercentBarSeries 5.QStackedBarSeries 6.QHorizontalStackedBarSeries 从上图得知柱状的基类是QAbstractBarSeries,派生出来分别是柱状图的水平和垂直类,只是类型…...

微机原理与接口技术-第七章输入输出接口
文章目录 I/O接口概述I/O接口的典型结构基本功能 I/O端口的编址独立编址统一编址 输入输出指令I/O寻址方式I/O数据传输量I/O保护 16位DOS应用程序DOS平台的源程序框架DOS功能调用 无条件传送和查询传送无条件传送三态缓冲器锁存器接口电路 查询传送查询输入端口查询输出端口 中…...

YoloV8改进策略:独家原创,LSKA(大可分离核注意力)改进YoloV8,比Transformer更有效,包括论文翻译和实验结果
文章目录 摘要论文:《LSKA(大可分离核注意力):重新思考CNN大核注意力设计》1、简介2、相关工作3、方法4、实验5、消融研究6、与最先进方法的比较7、ViTs和CNNs的鲁棒性评估基准比较8、结论YoloV8官方结果改进一:测试结果摘要 本文给大家带来一种超大核注意力机制的改进方…...

7天易语言从入门到实战(一)
1.1易语言简介 易语言是一门有着伟大理想的语言。公司用的少,开发者也很少,并不影响国人对他的热情。曾经的多玩LOL,朗读女,都是陪伴再那个国产PC应用匮乏的时代。 2001年1月 吴涛研发了中国自主知识产权的的中文编程语言——易语…...

redis缓存问题
缓存击穿 缓存击穿是指某个热点数据存储在redis中,该数据在高并发的场景下,当该key过期时就会有大量的请求去查询数据库,对数据库的压力非常大,可能会导致数据库压垮。 解决方案 1.不为热点的key设置过期时间。 2.使用分布式锁…...
mysql创建自定义函数报错
mysql创建自定义函数报错:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declarat… 这是我们开启了bin-log,我们就必须指定我们的函数是否是 1.DETERMINISTIC 不确定的 2.NO SQL没有sql语句,当然也不会修改数…...

Docker 的数据管理与网络通信以及Docker镜像的创建
目录 Docker的数据管理 1、数据卷 2、数据卷容器 3、端口映射 4、容器互联 二、Docker网络 1、Docker网络实现原理 2、Docker的网桥模式 1)Host 2)Container 3)none 4)bridge 5)自定义网络 3、创建自定义…...
linux系统查看bash的history
要输出最近的20条命令,可以使用history命令。在Bash终端中,输入以下命令即可获取最近的20条命令历史记录: history 20这将显示你最近执行的20条命令及其相应的行号。 要将最近的20条命令写入到一个名为 “command.txt” 的文本文件中&#…...

【T+】畅捷通T+增加会计科目提示执行超时已过期。
【问题描述】 在畅捷通T软件中, 增加会计科目的时候提示: 通过DataTable插入ext扩展表出错:执行超时已过期。 完成操作之前已超时或服务器未响应。 操作已被用户取消。 语句已终止。 【解决方法】 【方法一】 注销用户登录,回到软件登录界面…...

0基础学习VR全景平台篇第111篇:全景图拼接和编辑 - PTGui Pro教程
上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 前情回顾:上节,我们将源图像导入了PTGui,也设置好了各项参数。 下面我们就开始拼接全景图,并且在编辑器里进行一系列检查错位和设…...

Dynamics 365 使用ILMerge 合并CRM开发后的DLL
很久以前写过一篇博文,关于用ILMerge 命令合并DLL,当时时纯敲命令行的,现在有了更简单的方式,只需要在NuGet下载如下两个包 另外插件引用第三方dll的新方案Preview来了,不久的将来就不需要使用ILMerge了...

SpringBoot Web请求响应
目录 前言请求PostmanPostman使用 简单参数原始方式接收普通参数SpringBoot方式接收普通参数参数名不一致问题 实体参数简单实体参数复杂实体对象 数组集合参数数组参数集合参数 日期参数JSON参数路径参数 响应ResponseBody统一响应结果请求响应案例案例需求与准备工作案例实现…...

Jenkins CLI二次开发工具类
使用Jenkins CLI进行二次开发 使用背景 公司自研CI/DI平台,借助JenkinsSonarQube进行代码质量管理。对接版本 Jenkins版本为:Version 2.428 SonarQube版本为:Community EditionVersion 10.2.1 (build 78527)技术选型 Java对接Jenkins有第…...
2. 计算WPL
题目 Huffman编码是通信系统中常用的一种不等长编码,它的特点是:能够使编码之后的电文长度最短。 更多关于Huffman编码的内容参考教材第十章。 输入: 第一行为要编码的符号数量n 第二行~第n1行为每个符号出现的频率 输…...

筹备三年,自动驾驶L3标准将至,智驾产业链的关键一跃
作者|张祥威 编辑|德新 多位知情人士告诉HiEV,智能网联汽车准入试点通知,乐观预计将在一个月内发布。试点的推动,意味着国家层面的自动驾驶L3标准随之到来。 「L3标准内容大部分与主机厂相关,由工信部牵头,找了几家…...
【Python】Python使用Switch语句
这里写目录标题 1.使用字典(Dictionary)2.使用if-elif-else 1.使用字典(Dictionary) 在 Python 中,没有内置的 switch 语句,但可以使用其他方式来实现类似的功能。以下是两种常见的方法: 使用…...
一年一度的1024程序员节
前言 1024 程序员节是中国程序员的节日,于每年的 10 月 24 日庆祝。这个节日旨在纪念和表彰程序员对科技和社会发展所做的贡献。 1024 程序员节最早由中国互联网公司 CSDN(中国软件开发者网)发起,自然而然地成为了中国程序员社区…...
第十七章 数据库操作
数据库基础 和JDBC概论和常用类和接口就不过多的说了 直接来到 数据库的操作 一开始是在数据库中插入了四个类型 两个int 两个varchar类型 再分别插入 名字 序号 号码 性别 然后再在java中操作增删改查 这几个操作 全部代码如下 package 第十七章; import j…...

RTI-DDS代码分析使用介绍
DDS(Data Distribution Service数据分发服务)是对象管理组织OMG的有关分布式实时系统中数据发布的规范。 DDS规范采用了发布/订阅体系结构,但对实时性要求提供更好的支持。DDS是以数据为中心的发布/订阅通信模型。 以下工程基于rti_connext_dds-7.2.0 hello_world.…...
ant-design-vue 3 a-table保留选中状态
业务需求需要保留选中状态 <a-table class"satistic-table" :row-selection"{ selectedRowKeys: selectedRowKeys, onSelect:onSelect,onSelectAll:onSelectAll }" :row-key"(row)>{ return row.customerId}" :columns"columns"…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...