Qt Charts实践

简介: Qt Charts的横空出世标志着QWT,QCustomPlot 。。。。。时代的终结,让我们开始使用QtCharts吧

在Qt 5.7.0中已经集成了Qt Charts模块,需要在安装Qt的时候把Charts模块安装到本地就可以。

image.png

剩下的就是傻瓜安装了,等待安装完后,可以在示例中输入charts来查看原生demoimage.pngimage.png

剩下的就是实践了

 

 

新建工程,这里我使用的是creater工程,没有使用qml,新建后就是仿照demo写自己的demo

先上运行截图

image.png

这里有部分代码复制的是Qt的帮助文档中的代码(Qt的帮助文档是我见过最牛逼的帮助文档了)

 

 

 

简单的项目分解

 

第一部分,在工程文件引入Qt Charts模块

 

QT       += charts


image.png

 

 

 

剩下的就是在.h中包含需要头文件

 

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

 

 

 

 

 

这里还有一个问题,不知道是我的问题,还是就是需要这样做,这里需要引用命名空间“QtCharts”

 

using namespace QtCharts;

剩下的就是声明变量

    QChart *chart;
    QLineSeries *series0,*series1;
    QAreaSeries *series;
    QChartView *chartView;


image.png

剩下的就是实现内容

 

#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    chart = new QChart();
    series0 = new QLineSeries();
    series1 = new QLineSeries();
    *series0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6)
             << QPointF(16, 7) << QPointF(18, 5);
    *series1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) << QPointF(12, 3)
             << QPointF(16, 4) << QPointF(18, 3);
    series = new QAreaSeries(series0, series1);
    series->setName("Batman");
    QPen pen(0x059605);
    pen.setWidth(3);
    series->setPen(pen);
    QLinearGradient gradient(QPointF(0, 0), QPointF(0, 1));
    gradient.setColorAt(0.0, 0x3cc63c);
    gradient.setColorAt(1.0, 0x26f626);
    gradient.setCoordinateMode(QGradient::ObjectBoundingMode);
    series->setBrush(gradient);
    chart->addSeries(series);
    chart->setTitle("Simple areachart example");
    chart->createDefaultAxes();
    chart->axisX()->setRange(0, 20);
    chart->axisY()->setRange(0, 10);
    chartView = new QChartView(this);
    chartView->resize(400,300);
    chartView->setChart(chart);
    chartView->setRenderHint(QPainter::Antialiasing);
}
Widget::~Widget()
{
    delete ui;
}


这就完成了,是不是很简单了

目录
相关文章
|
5月前
|
设计模式 缓存 编译器
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
257 4
|
5月前
|
Linux API C语言
Qt串口编程探究:理论与实践
Qt串口编程探究:理论与实践
309 1
|
1月前
|
编解码 开发工具 UED
QT Widgets模块源码解析与实践
【9月更文挑战第20天】Qt Widgets 模块是 Qt 开发中至关重要的部分,提供了丰富的 GUI 组件,如按钮、文本框等,并支持布局管理、事件处理和窗口管理。这些组件基于信号与槽机制,实现灵活交互。通过对源码的解析及实践应用,可深入了解其类结构、布局管理和事件处理机制,掌握创建复杂 UI 界面的方法,提升开发效率和用户体验。
125 12
|
5月前
|
开发框架 物联网 云计算
Qt应用领域分析与实践
Qt应用领域分析与实践
185 0
|
5月前
|
自然语言处理 安全 算法
【Qt 基础 】深入理解Qt:qApp的全面掌握与实践
【Qt 基础 】深入理解Qt:qApp的全面掌握与实践
229 1
|
5月前
|
存储 编译器 C++
【Qt 元对象系统 02】深入探索Qt的元对象编译器:从原理到实践
【Qt 元对象系统 02】深入探索Qt的元对象编译器:从原理到实践
363 0
Qt BarChart实践
按照帮助文档编写
117 0
Qt BarChart实践
Qt Charts_Audio实践
这里完全是照搬帮助文档中的代码生成的程序
117 0
Qt Charts_Audio实践
|
编译器
Qt Creator plugin动手实践(5)分享一个简化版的插件框架,qt-creator-minimal
Qt Creator plugin动手实践(5)分享一个简化版的插件框架,qt-creator-minimal
425 0
Qt Creator plugin动手实践(5)分享一个简化版的插件框架,qt-creator-minimal
Qt Creator plugin动手实践(4)C++ 类ModeManager源码分析
Qt Creator plugin动手实践(4)C++ 类ModeManager源码分析
311 0
Qt Creator plugin动手实践(4)C++ 类ModeManager源码分析