首页
学习
活动
专区
圈层
工具
发布

Qt官方示例-K线图

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

0x01 创建K线图

代码语言:javascript
复制
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线图数据项

代码语言:javascript
复制
QCandlestickSet *set = dataReader.readCandlestickSet();
if (set) {
    acmeSeries->append(set);

0x03 K线图的几点要素

代码语言:javascript
复制
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安装目录找到:
代码语言:javascript
复制
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\charts\candlestickchart
  • 相关链接
代码语言:javascript
复制
https://doc.qt.io/qt-5/qtcharts-candlestickchart-example.html
举报
领券