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

09-1_Qt 5.9 C++开发指南_Qchart概述

Qt Charts 可以很方便地绘制常见的折线图、柱状图、饼图等图表,不用自己耗费时间和精力开发绘图组件或使用第三方组件了。

本章首先介绍 Qt Charts 的基本特点和功能,以画折线图为例详细说明 Qt Charts 各主要部件的操作方法,再介绍各种常用图表的绘图方法,最后介绍鼠标操作图形缩放等功能的实现。

文章目录

  • 1. Qt Charts 模块
  • 2. 图表的主要组成部分
    • 2.1 QChartView的功能
    • 2.2 序列
    • 2.3 坐标轴
    • 2.4 图例
  • 3. QChart实现多种功能

1. Qt Charts 模块

Qt Charts 模块是一组易于使用的图表组件,它基于 Qt 的 Graphics View 架构,其核心组件是QChartView和QChart。
QChartView 的父类是QGraphicsView,就是 Graphics View 架构中的视图组件,所以,QChartView 是用于显示图表的视图。
QChart 的继承关系如图9-1 所示,可以看到,QChart 是从QGraphicsItem 继承而来的,所以QChart 是一种图形项。

在这里插入图片描述

QPolarChart 是用于绘制极坐标图的图表类,它从QChart 继承而来。

要在项目中使用 Qt Charts 模块,必须在项目的配置文件 (.pro 文件)中增加下面的一行语句:
Qt+= charts
在需要使用 QtCharts 的类的头文件或源程序文件中,要使用如下的包含语句:

#include <QtCharts>
using namespace QtCharts;

也可以使用宏定义:

#include <QtCharts>
Qt_CHARTS_USE_NAMESPACE

对应章节介绍了一个实现如下图所示的实例实现方法。

在这里插入图片描述

2. 图表的主要组成部分

观察createChart()函数的内容和程序运行后的界面(图9-2)可知 QChartView 是 QChart 的视图组件,而一个QChart 一般包括序列、坐标轴、图例、图表标题等部分。

2.1 QChartView的功能

QChartView 是QChart 的视图组件,类似于 Graphics View 架构中的 QGraphicsView。实际上,在窗口设计界面上使用 QChartView 时,就是先放置一个 QGraphicsView 组件,然后升级为QChartView。

2.2 序列

序列是数据的表现形式,如图9-2 中的两条曲线就是两个QLineSeries 类型的序列。

图表的类型主要就是由序列的类型决定的,常见的图表类型有折线图、柱状图、饼图、散点图等,Qt Charts 能实现的常见图表示例及用到的序列类见对应位置。

2.3 坐标轴

一般的图表都有横轴和纵轴两个坐标轴,如折线图一般表示数据,坐标轴用 QValueAxis 类的数值坐标轴,如果用对数坐标,就可以使用 QLogValueAxis 类的坐标轴;柱状图的横坐标通常是文字,可以用QBarCategoryAxis 作为横轴,而饼图一般没有坐标轴。

在这里插入图片描述

2.4 图例

图例 (Legend) 是对图表上显示的序列的示例说明,如图 9-2 中为两条曲线显示的图例,有线条颜色和文字说明。QLegend 是封装了图例控制功能的类,可以为每个序列设置图例中的文字,可以控制图例显示在图表的上、下、左、右不同位置。
对于图例还有一个类QLegendMarker,可以为每个序列的图例生成一个类似于QCheckBox 的组件,在图例上单击序列的标记,可以控制序列是否显示。

3. QChart实现多种功能

QChart绘制折线图、柱状图、饼图、堆叠柱状图、百分比柱状图、散点图、光滑曲线图等的实现方法见对应位置介绍。

相关文章:

09-1_Qt 5.9 C++开发指南_Qchart概述

Qt Charts 可以很方便地绘制常见的折线图、柱状图、饼图等图表&#xff0c;不用自己耗费时间和精力开发绘图组件或使用第三方组件了。 本章首先介绍 Qt Charts 的基本特点和功能&#xff0c;以画折线图为例详细说明 Qt Charts 各主要部件的操作方法&#xff0c;再介绍各种常用…...

烘焙光照贴图,模型小部分发黑

1.首先确定创建了光照贴图UV&#xff0c;其次确定不是溢色&#xff0c;这个最简单&#xff0c;所有模型材质设置为双面就可以&#xff0c;URP材质球的话这里就是设置双面 在scence界面Texel Validity模式里查看溢色&#xff0c;红色表示有溢色&#xff0c;绿色表示正常 2. 光照…...

gitblit windows部署

1.官网下载 往死慢&#xff0c;我是从百度找的1.9.1&#xff0c;几乎就是最新版 http://www.gitblit.com/ 2.解压 下载下来是一个zip压缩包&#xff0c;直接解压即可 3.配置 3.1.配置资源库路径 找到data文件下的gitblit.properties文件&#xff0c;用Notepad打开 **注意路…...

opencv基础53-图像轮廓06-判断像素点与轮廓的关系(轮廓内,轮廓上,轮廓外)cv2.pointPolygonTest()

点到轮廓的距离 在 OpenCV 中&#xff0c;函数 cv2.pointPolygonTest()被用来计算点到多边形&#xff08;轮廓&#xff09;的最短距离&#xff08;也 就是垂线距离&#xff09;&#xff0c;这个计算过程又称点和多边形的关系测试。该函数的语法格式为&#xff1a; retval cv2…...

【LeetCode每日一题】——575.分糖果

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 575.分糖果 四【题目描述】 Alice 有 n 枚糖&…...

添加水印图片的java代码

文章目录 添加依赖java代码demo 添加依赖 <dependency><groupId>com.github.jai-imageio</groupId><artifactId>jai-imageio-core</artifactId><version>1.4.0</version></dependency>java代码demo package com.zkj.report.c…...

uniapp创建项目入门【详细】

大家在学习vue和微信小程序之后&#xff0c;就可以开始来学习uniapp了&#xff0c;在uniapp中&#xff0c;一套代码可以跨越所有的平台&#xff0c;可以很方便的维护。接下来我们先来学习如何创建uinapp的项目 一、uniapp的创建需求 大家只要会vue和微信小程序的基础来学习unia…...

pytest功能特性介绍

前言 学pytest就不得不说fixture&#xff0c;fixture是pytest的精髓所在&#xff0c;就像unittest中的setup和teardown一样&#xff0c;如果不学fixture那么使用pytest和使用unittest是没什么区别的(个人理解)。 fixture用途 1.做测试前后的初始化设置&#xff0c;如测试数据…...

UIE在实体识别和关系抽取上的实践

近期有做信息抽取的需求,UIE在信息抽取方面效果不错。 模型准备 huggingface上下载UIE模型:PaddlePaddle/uie-base Hugging Face 点击“Clone Repository”,确定git clone的链接 其中包含大文件,需要在windows安装git-lfs,在https://git-lfs.com/下载git-lfs,安装。…...

Baklib: 逆袭语雀的在线帮助中心,知识库管理工具

1. 介绍 在现代的技术发展中&#xff0c;知识管理变得越来越重要。特别是对于企业来说&#xff0c;拥有一个高效的知识库管理工具可以极大地提高工作效率和团队合作。Baklib就是这样一款在线帮助中心和知识库管理工具&#xff0c;它可以帮助企业集中管理和共享知识&#xff0c…...

web 3d场景构建+three.js+室内围墙,仓库,楼梯,货架模型等,第一人称进入场景案例

翻到了之前的一个案例&#xff0c;基于three.js做的仓库布局模拟&#xff0c;地图元素除了大模型外&#xff0c;其他都是通过JSON数据解析动态生成的&#xff0c;例如墙体&#xff0c;柱子门口&#xff0c;地标等&#xff0c;集成了第一人称的插件可以第一人称进入场景有需要的…...

EditPlus取消自动.bak备份

Tools->Preferences->File 将√取消...

LLM - Transformer LLaMA2 结构分析与 LoRA 详解

目录 一.引言 二.图说 LLM 1.Transformer 结构 ◆ Input、Output Embedding ◆ PositionEmbedding ◆ Multi-Head-Attention ◆ ADD & Norm ◆ Feed Forward ◆ Linear & Softmax 2.不同 LLM 结构 ◆ Encoder-Only ◆ Encoder-Decoder ◆ Decoder-Only …...

前端技术搭建五子棋游戏(内含源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 功能介绍✨ 页面搭建✨ 样式设置✨ 逻辑部分 ✨ 写在前面 上周我们实通过前端基础实现了拼图游戏&#xff0c;今天还是继续按照我们原定的节奏来带领大家完成一个五子棋游戏&#xff0c;功能也比较简单简单&#xff0c;也…...

AST入门与实战(三):if节点转switch节点(瑞数5)

原文地址:https://zhuoyue360.com/jsnx/110.html 1. 期望 这是一个瑞数5代解混淆的案例&#xff0c;我们本章节需要做的是把if节点的内容转换成switch-case内容.以此来熟悉AST对JS混淆的对抗. 原始代码: function whileState() {while (1) {aV cA[wU];if (aV < 4) {if (…...

小白到运维工程师自学之路 第七十一集 (kubernetes网络设置)

一、概述 Master 节点NotReady 的原因就是因为没有使用任何的网络插件&#xff0c;此时Node 和Master的连接还不正常。目前最流行的Kubernetes 网络插件有Flannel、Calico、Canal、Weave 这里选择使用flannel。 二、安装flannel 1、master下载kube-flannel.yml&#xff0c;所…...

day17 enum abstract interface 枚举 抽象 接口

一、枚举 enum 枚举本来的面目 创建Season类&#xff0c; 所有类都默认继承Object&#xff0c;写不写都一样 声明属性 &#xff1a;季节的名字、 季节的描述&#xff0c; 因为枚举的对象是看的见的客观事物&#xff0c; 想让它的属性不可修改 使用 final修饰表示最终的 &am…...

c刷题(二)

目录 加减混合运算 计算n的k次方 计算非负整数各位之和 字符串逆序 双指针 递归 矩阵计算 矩阵转置 加减混合运算 题目&#xff1a;计算1 / 1 - 1 / 2 1 / 3 - 1 / 4 1 / 5 …… 1 / 99 - 1 / 100 的值&#xff0c;打印出结果。 一般情况我们可以写个循环然后在用条…...

【leetcode】15. 三数之和(medium)

给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 这题真…...

【css】属性选择器

有些场景中需要在相同元素中获取具有特定属性的元素&#xff0c;比如同为input&#xff0c;type属性有text、button&#xff0c;可以通过属性选择器设置text和button的不同样式。 代码&#xff1a; <style> input[typetext] {width: 150px;display: block;margin-bottom…...

Onekey Steam Depot Manifest Downloader:终极游戏清单管理解决方案

Onekey Steam Depot Manifest Downloader&#xff1a;终极游戏清单管理解决方案 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 在当今数字游戏时代&#xff0c;高效管理游戏文件清单成为每个游…...

LangGPT结构化提示词设计:5分钟从新手到专家的完整指南

LangGPT结构化提示词设计&#xff1a;5分钟从新手到专家的完整指南 【免费下载链接】LangGPT LangGPT: Empowering everyone to become a prompt expert! &#x1f680; &#x1f4cc; 结构化提示词&#xff08;Structured Prompt&#xff09;提出者 &#x1f4cc; 元提示词&am…...

14万+下载量!为什么Tavily Search是OpenClaw必装的第一技能?

没有它&#xff0c;你的AI Agent就是"瞎子" 一、先问一个问题 你用过ChatGPT吗&#xff1f; 那你一定遇到过这种情况&#xff1a;问它"2026年最新AI趋势"&#xff0c;它告诉你"我的知识截止到2024年4月"。 这就是大模型的先天缺陷——知识有截…...

动态空间智能:计算机视觉的挑战与突破

1. 动态空间智能&#xff1a;计算机视觉的下一个前沿战场当人类驾驶员在复杂路况中穿梭时&#xff0c;大脑能瞬间判断周围车辆的移动趋势并做出反应&#xff1b;当足球运动员在场上奔跑时&#xff0c;能准确预判球的飞行轨迹并调整跑位——这种在动态环境中理解空间关系的能力&…...

kew快速入门指南:10个命令让你立即开始播放音乐

kew快速入门指南&#xff1a;10个命令让你立即开始播放音乐 【免费下载链接】kew Music for the Shell. 项目地址: https://gitcode.com/gh_mirrors/ke/kew kew是一款专为命令行用户设计的音乐播放器&#xff0c;让你无需离开终端即可享受高品质音乐体验。本文将通过10个…...

React-antd-admin-template权限系统设计:页面权限与路由权限详解

React-antd-admin-template权限系统设计&#xff1a;页面权限与路由权限详解 【免费下载链接】react-antd-admin-template 一个基于ReactAntd的后台管理模版&#xff0c;在线预览https://nlrx-wjc.github.io/react-antd-admin-template/ 项目地址: https://gitcode.com/gh_mi…...

Android截屏限制终极破解:Enable Screenshot模块完整使用指南

Android截屏限制终极破解&#xff1a;Enable Screenshot模块完整使用指南 【免费下载链接】DisableFlagSecure 项目地址: https://gitcode.com/gh_mirrors/dis/DisableFlagSecure 你是否曾经遇到过想要截图保存重要信息&#xff0c;却被系统提示"无法截屏"的…...

Copilot Next 自动化工作流配置终极复盘(附可运行Demo仓库):涵盖Azure DevOps/Bitbucket/GitLab三平台适配,仅剩最后87份源码包

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VS Code Copilot Next 自动化工作流配置 面试题汇总 VS Code Copilot Next 作为 GitHub 官方深度集成的下一代智能编程助手&#xff0c;其自动化工作流配置能力已成为前端与全栈工程师面试中的高频考点…...

终极Mac桌面歌词体验:LyricsX免费开源工具完全指南

终极Mac桌面歌词体验&#xff1a;LyricsX免费开源工具完全指南 【免费下载链接】Lyrics Swift-based iTunes plug-in to display lyrics on the desktop. 项目地址: https://gitcode.com/gh_mirrors/lyr/Lyrics 你是否曾梦想在Mac桌面上实时显示歌词&#xff0c;让音乐与…...

IwaraDownloadTool完全指南:从零开始掌握视频下载神器

IwaraDownloadTool完全指南&#xff1a;从零开始掌握视频下载神器 【免费下载链接】IwaraDownloadTool Iwara 下载工具 | Iwara Downloader 项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool IwaraDownloadTool是一款专为Iwara视频平台设计的强大下载工具…...