首先,在pro中要添加charts,widgets,即
Qt += qml quick widgets charts
在main.cpp中,添加头文件 #include <QApplication>( 注, pro中要先添加widgets,不然该头文件下会显示横线,表明找不到),并在main
函数修改为下面的形式:
1 2 3 4 5 6 |
|
到这里我们就将基本的东西配置好了,下面分两个部分讲解如何实现实时刷新的图表。
1、qml界面实现;
ChartView用于显示一个图表,可以说相当于容器,在这个区域内我们进行图表绘画,这里可以设定图表的大小,背景颜色,风格等等,不多说。
AbstractSeries是所有图表类的基类,它的直接派生子类为AbstractBarSeries, AreaSeries, BoxPlotSeries, CandlestickSeries, PieSeries, and XYSeries,
通过XYSeries又可以派生出LineSeries, ScatterSeries, and SplineSeries。
AbstractAxis是所有图表轴的基类,派生子类为BarCategoryAxis, CategoryAxis, DateTimeAxis, LogValueAxis, and ValueAxis。
界面设计类似如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import QtQuick 2.8 import QtQuick.Window 2.2 import QtCharts 2.3 Window { visible: true width: 640 height: 480 title: qsTr("物是人非") ChartView { id: scatter x: 0 y: 0 width: 640 height: 480 ScatterSeries { name: "物是人非" XYPoint { x: 1 y: 1 } XYPoint { x: 2 y: 4 } XYPoint { x: 4 y: 2 } XYPoint { x: 5 y: 5 } } } } |