当前位置: 首页 > news >正文

Qt图表类介绍

本文主要介绍QCharts相关的模块及类。
Qt中图表模块有以下几种类型:折线图,样条曲线图,面积图,散点图,条形图,饼图,方块胡须图,蜡烛图,极坐标图。
QCharts的图表框架类似于Qt的图形视图框架;
QChart类似于QGraphicsItem;
而QChartView类似于QGraphicsView;
可以将QChart看作容器,通过QChartView视图类来显示; QChart不需要场景类就能显示,而图形视图框架需要场景类来支撑显示。
使用图标类需要在项目添加charts模块,添加头文件并引入QtCharts的命名空间。

一.QChart 载体类

1.作用

(1)管理图表数据:用于管理图表上的一系列数据集合;
(2)设置图表属性:用于设置图表的标题,主题,动画等样式属性;
(3)管理图表轴:支持添加和管理图表的轴,可以向图表添加丛横轴,设定轴属性和刻度等;
(4)布局和位置控制:可以通过setPlotArea();方法设置图表的绘制区域,设定器大小和位置,或转换坐标;
(5)交互操作:提供一些方法和信号来支持图表的交互操作,如禁启用鼠标,捕获点击事件等;
(6)导出和打印:可以将图表导出为图片,PDF,SVG等格式,并支持打印和复制剪切等操作。

2.方法

(1)addSeries(); 用于将数据系列series添加到图表中;
(2)removeSeries(); 动态移除数据系列,更新图表显示;
(3)removeAllSeries(); 移除所有的数据系列;
(4)setTitle(); 设置图表的标题;
(5)setTheme(); 设置图表的主题;
(6)addAxis(axis, alignment); 添加轴到图表上。添加x轴y轴到图表中,并指定对齐方式(alignment),如左对齐、右对齐等;
(7)axisX()和axisY(); 获取图表中的横轴和纵轴对象,从而进一步定制轴的属性和设置;
(8)setPlotArea(rectangle); 设置图表的绘图区域,定义图表绘图区域的位置和大小,以控制图表中数据的显示范围;
(9)setBackgroundVisible(visible); 设置图表的背景可见性;
(10)setAnimationOptions(options); 设置图表的动画选项,定义图表的动画效果,在图表更新或切换数据时提供更流畅的过渡;
(11)legend(); 获取图表的图例对象,进行图例的设置和操作,比如位置、显示项等;
(12)zoomIn(rectangle); 在指定的矩形区域内进行缩放,可以实现对特定区域的放大显示;
(13)zoomOut(); 恢复图表的缩放级别;
(14)save(filename, format); 将图表保存为文件,如图片、PDF或SVG格式的文件,以便于导出和共享;
(15)createDefaultAxes(); 创建默认的横轴和纵轴, 自动创建横轴和纵轴对象,并添加到图表中,方便快速构建基本的图表。

二.QChartView 视图类

1.作用

(1)显示图表:作为一个独立的部件,专门用于显示图表;
(2)交互功能:用于处理一些常见的如缩放,平移,选择等交互操作;
(3)布局管理:可以通过布局管理器灵活的放置在界面中;
(4)样式定制:可以通过样式表来自定义其外观和样式;
(5)导出打印:提供了导出图表为图片格式或打印图表的功能;

2.方法

(1)chart(); 用于获取QChartView相关联的QChart对象;
(2)setChart(); 设置QChartView关联的QChart对象;
(3)setBackgroundBrush(); 用于设置QChartView的背景刷子(brush),定义图表视图的背景色、渐变或纹理等样式;
(4)setRenderHint(); 用于设置图表渲染时的一些提示选项。通过设置这些选项来优化图表的渲染效果和性能,如抗锯齿、高质量渲染等;
(5)setRubberBand(); 用于启用或禁用橡皮筋选择功能。当启用橡皮筋选择后,用户可以使用鼠标或触摸屏在图表上进行框选,并选择感兴趣的数据区域;
(6)setViewportUpdateMode(); 用于设置视图的更新模式。根据需要选择完整更新或增量更新模式,以控制图表视图的刷新行为;
(7)setInteractive(); 用于启用或禁用图表的交互功能。当启用交互功能后,用户可以使用鼠标或触摸屏进行缩放、平移和选择等操作;
(8)setDragMode(); 用于设置图表的拖动模式。可以选择平移模式或橡皮筋选择模式,以控制鼠标拖动时图表的行为;
(9)grab(); 用于获取图表视图的截图。使用grab()方法将图表视图保存为图片文件或进行其他处理;
(10)update(); 用于手动触发图表视图的更新。通常QChartView会自动管理图表视图的更新,但有时可能需要手动调用update()方法来强制刷新图表视图。

三.其他类

QLegend 图项标签类:该类用于显示图表的图例,不能自行创建或删除图例对象,但可以通过QChart类引用他们;
QValueAxis 数值填充类:该类用于将数据添加到图表的轴上。

具体的图标绘制请参看下篇文章。

相关文章:

Qt图表类介绍

本文主要介绍QCharts相关的模块及类。 Qt中图表模块有以下几种类型:折线图,样条曲线图,面积图,散点图,条形图,饼图,方块胡须图,蜡烛图,极坐标图。 QCharts的图表框架类似…...

时隔很久运行苍穹外卖项目,出现很多错误

中途运行了很多其他项目,maven的配置文件还被我修改了一次。导致再次运行苍穹外卖项目出现很多错误。 发现没有办法,把本地的仓库删了个干干净净。然后点击clean发现报错: Cannot access alimaven (http://mavejavascript:void(0);n.aliyun.…...

补篇协程:协程(Coroutine)里通过挂起suspend函数实现异步IO操作

异步IO的概念 异步IO是一种非阻塞的数据读写方法,异步IO与同步IO相对。 当一个异步过程调用发出后,调用者不能立刻得到结果。 实际的IO处理部件在完成操作后,会通过状态、通知或回调机制来通知调用者。 在一个CPU密集型的应用中&#xff0c…...

qmt量化交易策略小白学习笔记第16期【qmt编程之获取北向南向资金(沪港通,深港通和港股通)】

qmt编程之获取北向南向资金 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 北向南向资金(沪港通,深港通和港股通) #北向南向资金交易日历 获取交易日列表…...

开源项目学习——vnote

一、介绍 vnote是一款免费且开源的markdown编辑器,用C开发,基于Qt框架,windows/linux/mac都能用。 二、编译 $ git clone --recursive https://github.com/vnotex/vnote.git $ cd vnote && mkdir build $ cd build $ cmake ../ $ …...

5_1 Linux 计划任务

5_1 Linux 计划任务 文章目录 5_1 Linux 计划任务[toc]1. crontab 命令2. 计划任务书写格式 用途:按照设置的时间间隔,为用户反复执行某一固定的系统任务 软件包:cronie、crontabs 系统服务:crond 日志文件:/var/log/c…...

接口框架项目实战-pytest(六)csv数据驱动

csv 数据驱动 为了解决数据量大 导致yaml文件重复太多 yaml_util.py import osimport jsonpath import yamlfrom pytestdemo.common.base_util import get_path from pytestdemo.common.csv_util import analysis_parametersdef read_config_file(one_node,two_node):with ope…...

【Apache Doris】周FAQ集锦:第 5 期

【Apache Doris】周FAQ集锦:第 5 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和…...

再读高考作文题

新课标I卷:讨论了随着互联网和人工智能的普及,问题是否会变得越来越少,要求考生写一篇文章,表达自己对于这一现象的联想和思考。 从来就没有什么救世主 AI也不是​​​​​ 一直不会写作文,直到高中,才堪堪…...

小程序中实现自定义头部导航组件

在页面中实现自定义头部导航的组件,如果仅是单个页面中需要自定义可在页面的json文件中配置"navigationStyle": “custom”,如果是项目中所有页面都想使用自定义的组件,可在app.json的window中全局配置"navigationStyle"…...

算数运算符与表达式(打印被10整除的数)

打印100以内&#xff08;包含100&#xff09;能被10整除的正整数 #include <stdio.h>#define UPPER 100int main() {int i 1;while (i < UPPER)if (i % 10 0)printf("%d\n", i);return 0; } 自增运算符 i 用于递增变量 i 的值。在 while 循环中&#xf…...

kv视频如何转码mp4格式,kv转换mp4最简单方法

在数字化时代&#xff0c;视频格式转换成为了一项日常需求。有时候我们需要把kv格式转换为MP4格式。下面将详细介绍kv转MP4的方法 方法一、 1、使用 "小白兔视频格式在线转换网站" 2、地址发给"小白兔视频格式在线转换网站"的客服&#xff0c;客服下载即可…...

哈夫曼树详解

哈夫曼树 例题 有n堆果子&#xff0c;每堆果子的质量已知&#xff0c;现在需要把这些果子合并成一堆&#xff0c;但是每次只能把两堆果子合并到一起&#xff0c;同时会消耗与两堆果子质量之和等值的体力。显然&#xff0c;在进行n-1次合并之后&#xff0c;就只剩下一堆了。为…...

LangChain4j实战

基础 LangChain4j模型适配: Provider Native Image Sync Completion Streaming Completion Embedding Image Generation Scoring Function Calling OpenAI ✅ ✅ ✅ ✅ ✅ ✅ Azure OpenAI ✅ ✅ ✅ ✅ ✅ Hugging Face ✅ ✅ Amazon Bedrock ✅ ✅…...

57.Semaphore信号量

用来限制能同时访问共享资源的线程上限。只是适合限制单机线程数量。 Slf4j public class SemaphoreDemo {public static void main(String[] args) {Semaphore semaphore new Semaphore(3);for (int i 0; i < 10; i) {new Thread(() -> {try {semaphore.acquire();//…...

生成式人工智能 - 文本反转(Textual Inversion):一种微调稳定扩散模型的方法

一、简述 大型文本到图像稳定扩散模型已经展示了前所未有的能力,可以使用文本提示合成新场景。这些文本到图像模型提供了通过自然语言指导创作的自由。然而,它们的使用受到用户描述特定或独特场景、艺术创作或新实体产品的能力的限制。很多时候,用户被限制行使她的艺术自由来…...

minio的一个基础使用案例:用户头像上传

文章目录 一、minio下载安装&#xff08;Windows&#xff09;二、案例需求分析三、后端接口开发 一、minio下载安装&#xff08;Windows&#xff09; 1. 下载minio服务端和客户端 minio下载地址 2. 手动搭建目录 /minio/binmc.exeminio.exe/data/logs手动创建minio应用程序目…...

Linux用户和用户组的管理

目录 前言一、系统环境二、Linux用户组的管理2.1 新增用户组2.2 删除用户组2.3 修改用户组2.4 查看用户组 三、Linux用户的管理3.1 新增用户3.2 删除用户3.3 修改用户3.4 查看用户3.5 用户口令&#xff08;密码&#xff09;的管理 总结 前言 本篇文章介绍如何在Linux系统上实现…...

项目-五子棋双人对战:游戏房间的管理(5)

完整代码见: 邹锦辉个人所有代码: 测试仓库 - Gitee.com 之前我们已经实现了玩家匹配的功能, 我们都知道, 匹配完过后就可以进入游戏房间进行对战了, 所以我们下一步关注的重点就是对于游戏房间的管理. 模块详细讲解 功能需求 通过匹配的方式, 自动给玩家加入到一个游戏房间…...

LocalDate和Date有什么区别?两者如何转换?

LocalDate与Date 在Java中&#xff0c;LocalDate和Date是用来处理日期的两种不同的类。 区别&#xff1a; Date是Java早期的日期类&#xff0c;它包含了日期和时间的信息。但是在Java 8之后&#xff0c;Date类被标记为过时的&#xff0c;推荐使用新的日期时间API&#xff0c;…...

【仅开放72小时】:Gemini Workspace与Microsoft Entra ID双向同步的密钥轮换脚本(含自动审计日志生成器)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini Workspace整合方案概述 Gemini Workspace 是 Google 推出的面向企业级 AI 协作的统一平台&#xff0c;其核心价值在于将 Gemini 模型能力深度嵌入办公套件&#xff08;如 Gmail、Drive、Docs、M…...

Codex入门10-Goal自主任务(进阶必学:设定目标就不管了,AI自己干活到完成)

🎯 本文目标 掌握 /goal 持久化任务系统,让 Codex 自主完成复杂的大型工作。 🤔 /goal 和普通对话有什么区别? 对比 普通对话 /goal 任务 交互方式 一问一答 设定目标后AI自主工作 持久性 关终端就中断 关终端也能继续 适合任务 小任务、即时反馈 大任务、长期执行 计划…...

为AI智能体构建可编程邮箱:mailbot实战指南

1. 项目概述&#xff1a;为AI智能体打造专属的“可编程邮箱”如果你正在开发一个AI智能体&#xff0c;无论是客服机器人、自动化工作流还是个人助理&#xff0c;让它具备收发邮件的能力往往是刚需。传统的做法是什么&#xff1f;要么去折腾Gmail的API&#xff0c;忍受OAuth授权…...

飞书文档批量导出工具:25分钟搞定700+文档的迁移难题

飞书文档批量导出工具&#xff1a;25分钟搞定700文档的迁移难题 【免费下载链接】feishu-doc-export 飞书文档导出服务 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 当企业需要切换办公平台或进行数据备份时&#xff0c;飞书文档的批量迁移常常成为…...

利用taotoken模型广场为ai应用快速进行模型选型与测试

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用Taotoken模型广场为AI应用快速进行模型选型与测试 在构建一个需要集成多种AI能力的应用时&#xff0c;开发者面临的首要挑战往…...

4. 打破ASR技术瓶颈:Whisper-1模型原理、性能与落地实践

1. 引言 语音识别&#xff08;Automatic Speech Recognition, ASR&#xff09;是人工智能领域的核心技术方向之一&#xff0c;其历史可追溯至20世纪50年代贝尔实验室的Audrey系统——这一仅能识别10个英文数字的早期系统&#xff0c;标志着机器理解人类语音的开端。此后半个多…...

YOLOv11室内展台飞机模型目标检测数据集-182张-Airplane-1_4_2

YOLOv11室内展台飞机模型目标检测数据集 📊 数据集基本信息 目标类别: [‘airplane’] 中文类别:[‘飞机’] 训练集:159 张 验证集:23 张 测试集:0 张 总计:182 张 📄 data.yaml 配置信息 该数据集提供了data.yaml文件,内容如下: train: ../train/images val: .…...

传统认为越早进入行业越占优势,编程统计入行时间,行业红利数据,行业成熟期入行风险更低收益更稳。

“入行时间与行业红利期的匹配关系分析” 为主题&#xff0c;给出一套工程化、可教学、可复现的分析示例。一、实际应用场景描述&#xff08;Business Context&#xff09;在职业规划、行业研究与人才策略中&#xff0c;普遍存在一种观点&#xff1a;“越早进入一个行业&#x…...

CANdela Studio配置避坑指南:从10服务到Data Type,这些细节别踩雷

CANdela Studio配置避坑指南&#xff1a;从10服务到Data Type&#xff0c;这些细节别踩雷 在汽车电子诊断功能开发中&#xff0c;CANdela Studio作为诊断数据库(CDD)的核心编辑工具&#xff0c;其配置精度直接影响着诊断协议栈的生成质量。许多工程师能够完成基础配置&#xff…...

手把手教你用MOS管搭建防反接电路:从原理图到PCB布局的避坑指南(以立创EDA为例)

从零构建MOS管防反接电路&#xff1a;立创EDA实战全流程解析 电源反接是电子设计中最常见的"低级错误"之一&#xff0c;却可能造成毁灭性后果。想象一下&#xff1a;你花费数周完成的智能家居控制器&#xff0c;因为电池装反而瞬间烧毁主控芯片——这种场景在创客社区…...