QT之QChart绘制动态曲线

2023-11-18

QChart的系列(QChartSeries)和点(QValue)类。以下是一个简单的例子,它演示了如何使用QChart动态绘制曲线。

1)头文件

#include <QtCharts/QChartView>  
#include <QtCharts/QLineSeries>  
QT_CHARTS_USE_NAMESPACE

2)值写入QLineSeries

我们创建一个QLineSeries对象,该对象表示一系列的数据点。我们可以使用append()方法向该系列添加新的数据点。

QLineSeries *series = new QLineSeries();  
series->append(0, 6);  
series->append(2, 4);  
series->append(3, 8);  
series->append(7, 4);  
series->append(10, 5);

3)创建QChart对象,添加坐标轴

建一个QChart对象,并将上述系列添加到该图表中。我们还可以设置图表的标题和轴标签

QChart *chart = new QChart();  
chart->addSeries(series);  
chart->setTitle("Dynamic curve");  
chart->setAxisXLabel("Time");  
chart->setAxisYLabel("Value");

4)创建QChartView

创建一个QChartView对象,并将图表添加到该视图中。我们还可以设置视图的渲染方式

QChartView *chartView = new QChartView(chart);  
chartView->setRenderHint(QPainter::Antialiasing);

5)QChartView显示到窗口

将QChartView添加到主窗口中,以便用户可以查看图表

QWidget *window = QApplication::desktop()->windowHandle();  
window->setCentralWidget(chartView);

6)完整例子

#include <QtWidgets/QApplication>  
#include <QtCharts/QChartView>  
#include <QtCharts/QLineSeries>  
QT_CHARTS_USE_NAMESPACE  
  
int main(int argc, char *argv[])  
{  
    QApplication a(argc, argv);  
    QLineSeries *series = new QLineSeries();  
    series->append(0, 6);  
    series->append(2, 4);  
    series->append(3, 8);  
    series->append(7, 4);  
    series->append(10, 5);  
    QChart *chart = new QChart();  
    chart->addSeries(series);  
    chart->setTitle("Dynamic curve");  
    chart->setAxisXLabel("Time");  
    chart->setAxisYLabel("Value");  
    QChartView *chartView = new QChartView(chart);  
    chartView->setRenderHint(QPainter::Antialiasing);  
    QWidget *window = QApplication::desktop()->windowHandle();  
    window->setCentralWidget(chartView);  
    window->resize(400, 300);  
    window->show();  
    return a.exec();  
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT之QChart绘制动态曲线 的相关文章

  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 如何在 QT 安装程序框架中区分每用户安装与系统范围安装?

    我正在使用一些名为 pgModeler 的应用程序 它的当前版本提供了一个基于 QT 安装程序框架的安装程序 Windows 上该安装程序的问题是它安装每个用户的开始菜单条目 https github com pgmodeler pgmod
  • 第一个随机数始终小于其余随机数

    我碰巧注意到 在 C 中 使用 std rand 方法调用的第一个随机数大多数时候都明显小于第二个随机数 关于 Qt 实现 第一个几乎总是小几个数量级 qsrand QTime currentTime msec qDebug lt lt q
  • 获取 QPushButton 在 2D 数组 QPushButton 上的索引

    我有一个二维数组QPushButton 当用户单击按钮时如何获取按钮的索引 例如当用户单击按钮时a 2 3 它会显示 2 3 该示例如下所示 Qt 4 5 使用对象名称 您可以为按钮指定唯一的对象名称 理想情况下 名称应该是有效的 C 标识
  • Qt5和QML:如何使用WebEngine Quick Nano浏览器自动输入用户名和密码

    我正在使用编写一个小应用程序Qt and QML使用 Qt 文档中的示例WebEngine Quick Nano 浏览器 https doc snapshots qt io qt5 5 9 qtwebengine webengine qui
  • 有没有办法向 QListView 添加部分?

    我正在使用 Qt5 2 和 C 来实现一个应用程序 需要显示一个列表 其中包含类似于下面的示例图像的部分 source ngo hung com http www ngo hung com files images contact list
  • 如何使用 Qt DOM 通过此语法获取 xml 属性

    我正在使用 Qt DOM XML 解析器 并且遇到了如下属性定义的问题
  • 在 Qt 服务器上验证用户身份

    我正在尝试使用 C QtTcpSocket 为个人项目 多人国际象棋游戏 实现身份验证系统 我的朋友建议了一种验证用户的方法 但我想问是否有更简单或更好的方法 来自 Python 背景 做这个项目主要是为了加深对 C 的理解 我将发布我朋友
  • 第一次信号发射后自动断开

    我正在从文件加载网页 然后替换其中的一些 html self template web page QtWebKit QWebPage self template web page mainFrame load QtCore QUrl tem
  • QML 中可重用的字体属性[重复]

    这个问题在这里已经有答案了 在 QML 中 我希望能够定义一组字体属性以进行简单的语义重用 例如 代替 Text text This is a header font family Encode Sans weight Font Black
  • 如何在针对 Windows XP 的情况下使用 VS2012 构建 Qt 4/5?

    我正在尝试使用 Visual Studio 2012 构建 Qt 4 8 5 Qt 5 2 1 针对 Windows XP SDK v7 1a 使用 VS2102 编译时 源代码与 SDK v7 1a 存在各种不兼容性 因此无法开箱即用 这
  • Qt 嵌入式触摸屏 QMouseEvents 在收到 MouseButtonRelease 之前未收到

    我在带有触摸屏的小型 ARM 嵌入式 Linux 设备上使用 Qt 4 8 3 我的触摸屏配置了 tslib 并对其进行了校准 因此 etc 中有一个 pointcal 文件 我的触摸事件的位置工作得很好 但无论如何我都会在鼠标按下或鼠标释
  • PyQt4 QPalette 不工作

    btn QtGui QPushButton Button self palettes btn palette palettes setColor btn backgroundRole QtCore Qt green btn setPalet
  • Qt 5.1.1 与 Visual Studio 2012 - 这些 QT 版本无法访问

    打开 Visual Studio 时出现此错误 我安装自http qt project org downloads http qt project org downloads 适用于 Windows 64 位的 Qt 5 1 1 VS 20
  • 如何将自定义 Qt 类型与 QML 信号一起使用?

    我在 Qt 5 2 qml 应用程序中创建了一个自定义类型 class Setting public QObject Q OBJECT Q PROPERTY QString key READ key WRITE setKey Q PROPE
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • 无法运行 Qt 应用程序:找不到版本“Qt_5”

    我运行 Ubuntu 16 04 LTS 我的问题是我无法运行可以编译的 Qt5 应用程序 这是我尝试运行它时得到的结果 home user Desktop sconfig dist Release GNU Linux SCongif us
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • 为什么 QT 设计器重新调整大小或不允许我缩小或展开小部件或按钮?

    很多时候 在使用 QT 设计器时 我发现自己需要通过缩小或扩展来调整事物的大小 每当我尝试这样做时 程序都不允许我这样做 而只是恢复到将对象放置在窗口中时给我的原始默认大小 无论我的布局如何 为什么要这样做 是否有可能改变这一点 以便我可以

随机推荐

  • 第24讲 Python 复数数据类型详解(complex)

    您的 关注 和 点赞 是认可 是支持 是动力 如意见相佐 可留言 本人必将竭尽全力试图做到准确和全面 终其一生进行修改补充更新 本文首发在IT羊资源网 IT羊资源网 网址 https www ityangzy com IT羊资源网是IT世界
  • 我30岁了,转行学编程可以吗? 排除法告诉你答案 ...

    我30岁了 转行学编程可以吗 排除法告诉你答案 白月黑羽网站的读者在群里问过好几次 这个问题 但是这个问题太笼统了 其实不好回答 白月黑羽的这篇博客将根据的你的自身状况 不断的添加 自身条件的假设 采用排除法 认真的回答这个问题 既然有 转
  • ImageJ按照Little-Endian格式存储raw文件

    opencv图像处理是针对little endian数据 多帧堆叠情况下 否则结果错误 下面介绍如何用imageJ存储raw 参考 https imagej nih gov ij docs menus file html 1 在ImageJ
  • 毕设 STM32的FRID高速收费系统(源码+硬件+论文)

    文章目录 0 前言 1 主要功能 2 系统架构 3 硬件设计原理图 4 软件设计流程 称重模块HX711模块子流程 步进电机子流程 5 关键代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和
  • Python库这么多,如何记住呢?

    大家不要着急去收藏Python库 了解python的一些常用库就可以了 具体学到什么方向可以找个项目直接做 过程中接触到什么库再去学 下面给大家介绍几种查找Python库的方法 一 查看官方文档 要知道有哪些 大家可以查看官方文档 比如常用
  • 关键字static的理解

    1 概念 像在VB C C C Java PHP Objective C JavaScript中我们可以看到static作为关键字和函数出现 在其他的高级计算机语言如FORTRAN ALGOL COBOL BASIC LISP SNOBOL
  • Kotlin - 文件类 File

    文件操作 遍历 walk 自上而下 深度优先 遍历整个文件夹 walkBottomUp 自下而上的顺序遍历文件目录和内容 walkTopDown 自上而下的顺序遍历文件目录和内容 名称 extension 文件名的后缀格式 不包含 例如 m
  • [激光原理与应用-45]:《焊接质量检测》-2- 常见焊接缺陷与检验方法

    目录 一 概述 二 焊接缺陷的分类 2 1 按产生原因 2 2 按性质分有 2 3 按在焊缝中的位置分有 三 焊接缺陷检验的常用方法 一 概述 对于一个金属结构来说 焊接检验就是对所有焊缝或焊接接头而言的 也就是对焊接缺陷的检验 但焊接接头
  • idea 编译成功启动失败

    环境 Windows10 IntelliJ IDEA 2021 2 3 Ultimate Edition Apache Maven 3 8 3 SpringBoot版本 2 1 13 RELEASE 问题描述 SpringBoot项目启动时
  • html输入浮点型,input框限定输入值为浮点型代码分享

    本文主要为大家带来一篇对于input 框限定输入值为浮点型的js代码 小编觉得挺不错的 现在就分享给大家 也给大家做个参考 一起跟随小编过来看看吧 希望能帮助到大家 在一些项目中 比如金额用到浮点型 对于input 限定可以参考以下 fun
  • 信创-大数据平台CPU架构支持

    一 CDH和HDP CDP CDP数据中心类似于CDH和HDP 直接安装在硬件服务器上 目前支持市面上主流的X86服务器 包括国内海光服务器 CDH不支持ARM 以上两种大数据平台都仅支持x86架构 早在几年期RedHat联手clouder
  • IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

    自动代码 常用的有fori sout psvm Tab即可生成循环 System out main方法等boilerplate样板代码 例如要输入for User user users 只需输入user for Tab 再比如 要输入Dat
  • SQL BOY 4 款脚本工具利器

    对于正在运行的mysql 性能如何 参数设置的是否合理 账号设置的是否存在安全隐患 你是否了然于胸 俗话说工欲善其事 必先利其器 定期对你的MYSQL数据库进行一个体检 是保证数据库安全运行的重要手段 今天和大家分享几个mysql 优化的工
  • Java多线程工具类之循环栅栏计数器

    Java多线程下循环计数器 本文主要内容 CyclicBarrier 下文中凯哥就用cycBar来代替 定义介绍 举例说明 代码演示 从源码来看原理及总结 CyclicBarrier与CountDownLatch 下文就用CountDown
  • 多分类SVM支持向量机的matlab仿真

    目录 一 理论基础 二 核心程序 三 仿真结论 一 理论基础 支持向量机 Support Vector Machine SVM 是一种在统计学习基础上发展起来的机器学习方法 其最大特点是根据Vapnik结构风险最小化原则 它的基本模型是定义
  • 从0到1:如何建立一个大规模多语言代码生成预训练模型

    国产AI辅助编程工具CodeGeeX是一个使用AI大模型为基座的辅助编程工具 帮助开发人员更快的编写代码 可以自动完成整个函数的编写 只需要根据注释或Tab按键即可 它已经在Java JavaScript和Python等二十多种语言上进行了
  • 判断机器大端小端的方法

    Big Endian和Little Endian的定义如下 1 Little Endian就是低位字节排放在内存的低地址端 高位字节排放在内存的高地址端 2 Big Endian就是高位字节排放在内存的低地址端 低位字节排放在内存的高地址端
  • DAC0832数模转换芯片介绍及使用教程

    1 芯片简介 DAC0832是采样频率为八位的D A转换芯片 集成电路内有两级输入寄存器 使DAC0832芯片具备双缓冲 单缓冲和直通三种输入方式 D A转换结果采用电流形式输出 若需要相应的模拟电压信号 可通过一个高输入阻抗的线性运算放大
  • Python小实验2—产生式系统实验

    文章目录 1 实验内容 2 实验目的 3 实验思路 4 源代码 5 实验结果 1 实验内容 设已知初始事实存放在综合数据库中 该动物身上有 暗斑点 长脖子 长腿 奶 蹄 推理机构的工作过程 1 从规则库中取出r 检查其前提是否可与综合数据库
  • QT之QChart绘制动态曲线

    QT之QChart绘制动态曲线 1 头文件 2 值写入QLineSeries 3 创建QChart对象 添加坐标轴 4 创建QChartView 5 QChartView显示到窗口 6 完整例子 QChart的系列 QChartSeries