QT-----ChartView控件的使用

2023-11-19

chartview可用于制作折线图、饼状图、条行/柱状/直方图系等来体现数据数据变化起浮。以下案例以折线图举例:

1、使用ChartView控件

注意点:1、要在pro文件中加入:QT += widgets

              2、主界面应当使用QApplication进行加载界面;ChartView使用Qt Graphics试图框架进行绘图

 在ChartView中有官方指定的可直接使用的主题进行使用,该主题设计了图表的背景色、标题文本样式、网格线样式等,所以在自己需要重定义的时候记住不要使用官方带的主题,如果使用了官方主题可能会导致自己设置的主题样式失效

theme: ChartView.ChartThemeBlueCerulean---使用官方主题

官方提供的主题:

 x轴:

Y轴:

折线图图表:

 LineSeries为折线图图表;在上面定义了两个x轴和y轴,在定义LineSeries时将两个轴分别加入了LineSeries中。LineSeries中的文本是图例说明,color更改的是图例说明前的图形颜色

其实还可以定义为其他图形,例如散点图、饼状图等,定义不同的图表类型后加入轴就好了,官方提供的图表类型如下:

 使用定时器动态增加数据:

效果图:

 

 知识点:

1、 legend:图例对象:就是上面的红色区域啦,文字是在LineSeries中设定的

2、数据的增加与删除

折线图内是(x,y)坐标点样式的:

增加数据:

a、lineSeries.append(x, y)

b、XYPoint {x: 1000; y: 0}

数据清除:

数据替换:大部分情况下会使用void replace(QList<QPointF> points)动态替换显示数据

 动态创建折线图表和动态替换数据:

踩坑:当时的轴是在自定义控件内定义的,但是在主界面内实现父控件时直接使用子控件id做x和y轴时一直没有效果。后面发下在实例化父类控件时不能直接使用子控件的id名,需要使用别名alias

AbstractSeries createSeries(enumeration type, string name, AbstractAxis axisX, AbstractAxis axisY)


新建类并创建函数进行更新数据:

要使用QLineSeries类需要在pro文件内加入:QT += charts并在使用类中加入头文件#include <QtCharts>

.h

 .cpp

qml:

chartview官方文档:图表视图 QML 类型 |Qt 图表 6.5.0

QYseires官方文档:QXY系列课程 |Qt 图表 5.15.13

数据操作:(5条消息) QtCharts之QXYSeries_nullobject0x01的博客-CSDN博客

添加数据显示:(5条消息) QML charts 鼠标动态跟随数值(十字交叉定位)_qchart鼠标跟踪线_喵喵叫的猴的博客-CSDN博客tooltip官方文档:(5条消息) QML控件类型:ToolTip_qml tooltip_友善啊,朋友的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT-----ChartView控件的使用 的相关文章

  • QGraphicsView 和 eventFilter

    这个问题已经困扰我两天多了 所以我想我应该问一下 我在Win7上使用Qt 4 5 3 用VC2008编译 我有 MyGraphicsView 继承 QGraphicsView 和 MyFilter 继承 QObject 类 当我将 MyFi
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • 程序意外完成 - QT Creator

    我正在尝试使用 QT Creator 使用 QT 框架开发 GUI 控制台应用程序 我使用的是Windows XP 我安装了QT 4 8 3和mingw 两者均已安装 没有任何错误 然后我安装了QT Creator QT 版本 路径中的 Q
  • 如何在按下托盘图标菜单操作时执行功能?

    int main int argc char argv QApplication oApp argc argv QAction action1 QMenu menu QSystemTrayIcon TrayIcon QIcon favico
  • Qt中如何获取鼠标在屏幕上的位置?

    我想获取屏幕上的鼠标坐标 我怎样才能在 Qt 中做到这一点 在 Windows 上 使用 C 我正在做类似答案中建议的事情对于这个问题 https stackoverflow com q 11737665 1420197 正如文档所述 QC
  • QTextEdit.find() 在 Python 中不起作用

    演示问题的简单代码 usr bin env python import sys from PyQt4 QtCore import QObject SIGNAL from PyQt4 QtGui import QApplication QTe
  • Qt 文件对话框默认后缀不起作用

    我将以下代码用于 QtQuick Dialogs 1 3 和 Qt 5 10 0 下 filedialog 的新属性 我使用 Qt Creator 5 10 默认套件构建它 import QtQuick 2 10 import QtQuic
  • QToolButton:更改菜单位置

    使用菜单时QToolButton菜单显示在按钮的正下方 有没有办法在按钮的左侧 右侧显示菜单 我知道这个问题不久前已得到回答 但我想为此问题添加新答案 因为接受的答案不再有效 实际上 更改 QToolButton 上的菜单位置非常容易 您需
  • QCombobox 向下箭头图像

    如何更改Qcombobox向下箭头图像 现在我正在使用这个 QSS 代码 但这不起作用 我无法删除向下箭头边框 QComboBox border 0px QComboBox down arrow border 0px background
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • 如何使QTableView类的restoreState()和saveState()正常工作?

    首先 我想说 我的问题已经在这里讨论过 并且这里是 https stackoverflow com questions 1163030 qt qtableview and horizontalheader restorestate 但答案并
  • Qt:如何连接到 SQLite?

    我安装了 SQLite3 解压到 c sqlite 创建了一个数据库 c sqlite mzsales 现在我试图在 QTableView 中显示其内容 QSqlDatabase db QSqlDatabase addDatabase QS
  • QT从QTableWidgetItem继承到Widget并覆盖'<'运算符

    我想要一个QTableWidget具有定制的某些单元QProgressBars 并且我希望能够对包含这些的列进行排序 我的定制QProgressBar继承自两者QProgressBar and QTableWidgetItem 并且我正在覆
  • 如何使用meta-toolchain-qt5构建Qt(带有QtWebEngine支持)?

    我正在尝试使用构建 Qtmeta toolchain qt5 但是当我通过这样做时poky glibc x86 64 meta toolchain qt5 cortexa7hf vfp vfpv4 neon toolchain 2 0 1
  • QSerialPort 中的 readAll() 不包括最后发送的响应

    我正在使用 Qt 来控制串行设备 如果我向串行设备发送命令 我会执行类似的操作serial gt write command r n 我制作了一个按钮 它将纯文本小部件内的文本更改为串行端口的响应 为了获得串口的响应 我使用serial g
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • Qt 5.3 无法使 QCompass (QSensor) 在 Windows 8.1 上工作

    我无法让传感器在我的 Asus Transformer T100 上工作 磁力计和指南针无法启动 并且我从加速度计获得假值 始终 x 0 y 9 8 z 0 即使使用我的笔记本电脑 我总是得到相同的结果 第一段文字编辑 Initialisa
  • 如何消除 QTableWidget 中的空白?

    How do I get rid of the whitespace in my application 我想摆脱 QTableWidget 中的空白 蓝色箭头 我该怎么做 这是我的应用程序的代码 gridLayout QGridLayou

随机推荐

  • pinia 实战IM----注册TIM-plugin插件

    目录 初始化TIM实例 定义参数类型 扩展pinia插件 添加新的属性 添加新的选项 标注插件类型 为新的定义选项添加类型 为新的 state 添加类型 初始化pinia TIM插件 扩展 pinia属性 与 选项 仓库中使用 pina中注
  • openGauss学习笔记-59 openGauss 数据库管理-相关概念介绍

    文章目录 openGauss学习笔记 59 openGauss 数据库管理 相关概念介绍 59 1 数据库 59 2 表空间 59 3 模式 59 4 用户和角色 59 5 事务管理 openGauss学习笔记 59 openGauss 数
  • PX4log文件分析工具

    功能介绍 该工具可读取PX4存储的bin文件 自动将其进行解析 解析后可根据需求 选择需要导出的数据 将数据导出到txt文件中 几点说明 应用场景 需要将飞行数据导入到matlab中 对数据进行分析 使用原始的sdlog2pumy py文件
  • vue页面自适应屏幕宽高_Vue+Element UI 高度实时自适应

    本文章是我一个实习两个月的练习生 在项目中遇到的问题 在此记录 防治以后再踩坑 Element ui 本身使用的Container 布局容器 组件采用 flex 布局 所以用了它的布局就可以做到宽度实时自适应 当我想试试高度是否自适应时发现
  • golang之跨语言ipc通信

    1 golang之跨语言ipc通信 文章目录 1 golang之跨语言ipc通信 1 1 unix domain Socket unix域套接字 介绍 1 2 IPC SOCKET通信 1 2 1 函数及地址定义介绍 1 2 2 UNIX
  • qt用mingw编译时报错 multiple definition of

    网上相关回答不少 但过于简单 这里做一下记录 qt用mingw编译程序时报 multiple definition of 这个错误 错误信息大概是如下图所示 首先 检查自己的程序是否真的有重定义 头文件循环包含等问题 若确定没有 则是由于方
  • 基于机器视觉的布匹疵点检测——新视智科

    人工智能验布系统 布匹的疵点检测是纺织工业中的一个十分重要的环节 当前 纺织工业的布匹缺陷检测领域 人工检测仍然是主要的质量检测方式 而近年来由于人力成本的提升 以及人工检测存在的检测速度慢 漏检率高 一致性差 人员流动率高等问题 越来越多
  • 渗透测试信息收集方法和工具分享

    文章目录 一 域名收集 1 OneForAll 2 子域名挖掘机 3 subdomainsBurte 4 ssl证书查询 二 获取真实ip 1 17CE 2 站长之家ping检测 3 如何寻找真实IP 4 纯真ip数据库工具 5 c段 旁站
  • 安装LLVM+Clang教程

    目录 前言 一 LLVM简介 二 LLVM Clang的安装 前言 最近可能要学习编译器相关的知识 因此总结一下LLVM的安装方法 以防忘记如何安装 接下来就是正式的安装过程了 分割线 一 LLVM简介 LLVM是Low Level Vir
  • 结构化思维学习与应用

    本文转自 CIO之家 结构化思维 Structured Thinking 是指一个人在面对工作任务或者难题时能从多个侧面进行思考 深刻分析导致问题出现的原因 系统制定行动方案 并采取恰当的手段使工作得以高效率开展 取得高绩效 当你这样做事的
  • 【xbin-store】基于springboot的分布式B2C电商开源项目

    原文地址 https blog csdn net g290095142 article details 79105219 致敬原作者 https github com xubinux xbin store CSDN下载地址 分享一些关于这个
  • LINUX CGI

    为什么要进行CGI编程 在HTML中 当客户填写了表单 并按下了发送 submit 按钮后 表单的内容被发送到了服务器端 一般的 这时就需要有一个服务器端脚本来对表单的内容进行一些处理 或者是把它们保存起来 或者是按内容进行一些查询 或者是
  • QSignalMapper基本用法

    QSignMapper mapper new QSignMapper this QPushButton btn1 new QPushButton this btn1 gt setText btn1 QPushButton btn2 new
  • phpstorm点设置没反应怎么解决?

    先把汉化包拿出来 再点设置就可以用了 然后设置完字体后再添加汉化包
  • [区块链安全-CTF Protocol]区块链智能合约安全实战(已完结)

    区块链安全 CTF Protocol 区块链智能合约安全实战 前言 1 The Lost Kitty 2 RootMe 3 Trickster 4 The Golden Ticket 5 Smart Horrocrux 6 Gas Valv
  • C语言实现三子棋(不是人工智障哈哈哈)

    目前为止学了分支 循环 数组和函数 现在利用这些知识来写一个三子棋小游戏来巩固加深所学哈哈哈 目录 1 测试结果 2 整体思路 3 代码模块解读 1 打印菜单 2 初始化棋盘 3 打印棋盘 4 玩家下棋 5 电脑下棋 6 判断输赢 4 代码
  • ps aux 和ps -aux和 ps -ef的选择

    Linux中的ps命令是Process Status的缩写 ps命令用来列出系统中当前运行的那些进程 ps命令列出的是当前那些进程的快照 就是执行ps命令的那个时刻的那些进程 如果想要动态的显示进程信息 就可以使用top命令 要对进程进行监
  • hive-字符串查找函数 instr和locate

    找不到都是返回0 字符串查找函数 instr 语法 instr string str string substr 返回值 int 说明 返回字符串 substr 在 str 中首次出现的位置 举例 hive gt select instr
  • 国内k8s集群部署的几种方式

    前言 总所周知 由于某种原因 通过官方的方式在国内是无法顺利部署k8s集群的 这里记录下在国内部署的几种方式 部署方式 目前我所了解有以下几种方式 使用kubeadmin通过离线镜像的方式 网上教程和镜像包挺多的 通过厂商集成的方式如 ra
  • QT-----ChartView控件的使用

    chartview可用于制作折线图 饼状图 条行 柱状 直方图系等来体现数据数据变化起浮 以下案例以折线图举例 1 使用ChartView控件 注意点 1 要在pro文件中加入 QT widgets 2 主界面应当使用QApplicatio