Qt官方示例-K线图

时间:2022-07-22
本文章向大家介绍Qt官方示例-K线图,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

使用Qt的QCandlestickSeries类实现K线图绘制。

0x01 创建K线图

QCandlestickSeries *acmeSeries = new QCandlestickSeries();
acmeSeries->setName("Acme Ltd");
acmeSeries->setIncreasingColor(QColor(Qt::green));
acmeSeries->setDecreasingColor(QColor(Qt::red));

QChart *chart = new QChart();
chart->addSeries(acmeSeries);
chart->setTitle("Acme Ltd Historical Data (July 2015)");

0x02 使用QCandlestickSet添加K线图数据项

QCandlestickSet *set = dataReader.readCandlestickSet();
if (set) {
    acmeSeries->append(set);

0x03 K线图的几点要素

const qreal timestamp = strList.at(0).toDouble();
const qreal open = strList.at(1).toDouble();
const qreal high = strList.at(2).toDouble();
const qreal low = strList.at(3).toDouble();
const qreal close = strList.at(4).toDouble();
//! [3]

//! [4]
QCandlestickSet *candlestickSet = new QCandlestickSet(timestamp);
candlestickSet->setOpen(open);
candlestickSet->setHigh(high);
candlestickSet->setLow(low);
candlestickSet->setClose(close);
  1. setOpen为设置开始时候(开盘)的值;
  2. setClose为设置结束时候(收盘)的值;
  3. setHigh为设置当日最高的值;
  4. setLow为设置当日最低的值;
  5. 红色代表最低值为昨天的收盘值(上升),蓝色代表为最高值为昨天收盘值(下降)。

  使用图片方式表达K线图的几点要素:

0x04 关于更多

  • QtCreator软件可以找到:
  • 或在以下Qt安装目录找到:
C:Qt{你的Qt版本}Examples{你的Qt版本}chartscandlestickchart
  • 相关链接
https://doc.qt.io/qt-5/qtcharts-candlestickchart-example.html