一、QtCharts

  QtCharts是Qt自带的组件库,其中包含折线、曲线、饼图、棒图、散点图、雷达图等各种常用的图表。而在地面站开发过程中,使用折线图可以对无人机的一些状态数据进行监测,更是可以使用散点图来模拟飞机所在位置,实现平面地图的感觉。

  使用Qt Charts绘制,大概可以分为四个部分:数据(QXYSeries)、图表(QChart)、坐标轴(QAbstractAXis)和视图(QChartView)。这里就不一一给大家介绍了,下面给大家说一下QtCharts的配置安装。

二、配置安装

  1. 准备工作 安装Qt时带上charts,否则无法使用。版本最好是Qt5.7以后的版本。 对于编译方式安装的 Qt,需要注意在 configure 时不要跳过 charts。 对于安装包方式安装的 Qt,需要注意在安装时,确保 charts 组件被选中。
  2. 修改配置文件 新建一个项目 在pro中,使用如下语句包含charts库
    QT += charts
  3. 提升 widget 控件为 QChartView 在绘制 ui 窗体时,从designer的工具箱中选择一个“Widget”类型的控件,而后单击鼠标右键,选择 “提升为”;在弹出的界面中,填写"提升的类名称" 为: QChartView,头文件名称就会自动生成。最后点击“添加”按钮完成控件提升。
  4. 修改头文件 在头文件中,我们需要添加下面两行代码
    #include <QtCharts>
    QT_CHARTS_USE_NAMESPACE

    这两句代码的含义是,包含 QChart 所需的头文件及声明Qt Charts的命名空间。

  5. 构建图表、构建系列,并将图表绑定到视图 在 Wdiget 的构造函数中添加以下代码:
    // 构建图表对象
    QChart* chart = new QChart();
    // 构建折线系列对象
    QLineSeries *series = new QLineSeries();
    for (quint32 i = 0; i < 100; i++)
    {
    //调用append()接口,传递的参数x、y对用的是一组坐标数据。
    series->append(i, sin(0.6f*i));
    }
    // 将系列添加到图表
    chart->addSeries(series);
    // 基于已添加到图表的 series 来创建默认的坐标轴
    chart->createDefaultAxes();
    // 将图表绑定到视图
    ui->widget->setChart(chart);
  6. 运行程序

  QChartView继承的是QGraphicsView,QChart继承的是QGraphics-Widget,所以我们可以用图形视图框架的知识,在它的基础上进行拓展,Qt自带的示例Callout可以给我们提供参考。

- End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于为机器人研发提供开源软硬件工具和课程服务,让研发更高效!

技术小新 | QtCharts快速入门相关推荐

  1. 微信小程序开发快速入门

    最近整理文件,找到一个18年写的微信小程序开发快速入门,对于新手还是值得一看的,三年多过去了,可能一些接口已经更新了,不过,整体思想还是没变的. 如果你熟悉JavaScript,那你基本上看完这个文档 ...

  2. 初学者学习Python,掌握这些实用小技巧能快速入门!

    在开始今天的话题之前,我们先讨论一个问题:编程初学者应该学习什么语言好? 每年每天都会有很多新入门的同学提出这个看似简单却又让人一下难以给出准确答复的问题.作为新手,纵然自己抓破脑袋,凭空也想象不出哪 ...

  3. C++学习记录(B站小甲鱼C++快速入门视频)

    文章目录 C++特点: 封装 抽象 继承 多态 从一个小程序开始 第二个小程序(IO) cin跟cout对象的多个方法 第三个小程序(File) 多种文件操作用or操作符`"|"` ...

  4. 微信小程序布局快速入门

    前言 本文是作者在学习微信小程序时为掌握页面布局而参考多种资料整理而成,希望能帮助大家在开发的过程中快速上手. 一.盒子模型 每个元素都会生成一个矩形框,每个元素框中心都有一个内容区(content) ...

  5. 第5章第18节:创建一个简单的Widget小组件 [SwiftUI快速入门到实战]

    Widget是iOS 14的新特性,要创建小组件,需要使用到SwiftUI和WidgetKit.要在项目中创建Widget,首先点击此处的加号图标,添加一个target. 点击右侧的垂直滚动条,查看W ...

  6. SolidWorks Composer2018新功能快速入门指南

    SolidWorks Composer2018相比2017的版本新增了许多新的功能: 1.导入颜色 在SolidWorks Composer中我们可以从SolidWorks模型中的显示状态外观自动导入 ...

  7. GoodSync新用户快速入门学习篇

    GoodSync是一款非常好用的文件备份与文件同步软件,这款软件可以帮助我们将A中的视频.图片.音频.PDF文档及其他各类型文件以备份同步的方式传输到B中.对于刚接触GoodSync软件的用户而言,可 ...

  8. 小甲鱼C++快速入门——第四天

    视频14-介绍对象 对象和结构的区别 对象的内部可以有变量[属性]和函数[方法],结构通常只有变量. #include <iostream> using namespace std; co ...

  9. Go语言小程序开发快速入门——一、用Gin框架实现简单的信息获取

    下面主要介绍如何用Go语言的Gin框架把信息通过接口传到小程序前端 1.准备 (1)注册一个微信小程序 (2)下载微信开发者工具 (3)下载Go语言编辑器,配置Go语言环境 2.新建一个小程序项目 在 ...

  10. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

最新文章

  1. 文件控制块的三类信息
  2. Web认证及API的 使用TOKEN的一些思考
  3. linux苹果开发者p12,苹果testflight发布流程
  4. python中惩罚的代码_如何只为在python中使用的实现支付依赖惩罚?
  5. 解决win10的WiFi图标消失、win10打开或关闭系统图标网络灰色问题
  6. 如何用ESP32+LVGL实现给路由器加装屏幕
  7. ThinkpadX220 windows10 博通bcm94352hmb的蓝牙连接音箱播放声音断断续续的解决方案
  8. java模拟新浪微博_用java程序模拟登陆新浪微博
  9. JRE解压缩后手动配置注册表
  10. 阿里云企业邮箱域名注册流程
  11. ZROI 2018 ZYB和售货机(goods)
  12. JS 应用篇(一):Underfined与Null的区别
  13. Q9.1 Ruan upp a staircase
  14. recoil error Cannot assign to read only property of object ‘#‘
  15. 电子签名屏什么牌子好
  16. 如何把图片背景设置透明色?如何批量图片去底色?
  17. [TYVJ1827]『Citric II』一道防AK好题
  18. 计算机windows前台运行图标,获取 window任务栏已经打开应用程序窗口(也就是任务管理器中前台进程)的图标...
  19. C语言中指向函数的指针(我见过的讲的最清晰的文章)
  20. Android 5.1以上双卡指定sim卡拨打电话

热门文章

  1. 比尔盖茨背后的女人走向前台
  2. 这种小程序智能客服,你羡慕不?
  3. snap7与西门子PLC连接配置
  4. 基于FastAPIPeewee作成2022年全车型数据库接口
  5. 3星|《三联生活周刊》2017年7-8期:吃货逛西班牙、土耳其、美国加州、泰国、中国台湾...
  6. 推荐一款现代化社区(论坛 / 问答 / BBS / 社交网络 / 博客)系统平台
  7. python3爬取站长素材简历模板详解
  8. 图说 | 人到中年,微胖更保命?这份米因健康大数据真相了
  9. 汽车行业:电子签约助力预约试驾全程在线、提速降险
  10. 服务器 防火墙性能,防火墙性能测试工具