天天看点

QtCharts总结

开始研究下qt的charts的一些知识,由于刚开始研究,有什么错误欢迎大家指正。

一般用到简单折线的话,通常是下面的思路。

先创建Series,然后将Series添加到chart中。

创建Axis添加到chart中,然后在添加到Series中。

绘图只需要控制chart以上的内容就可以了,chart不需要中途销毁创建

只画图不需要交互,简单显示 用QChartView + QChart

需要交互复杂画图 用Scene + QChart + QGraphicsView

用第二种交互模式时候,chart不会自动改变大小,需要重载resizeevent

void CapitalChartView::resizeEvent(QResizeEvent *event)

{

    if (scene()) {

    scene()->setSceneRect(QRect(QPoint(0, 0), event->size()));

if (m_chart != nullptr)

{

m_chart->resize(event->size());

}

if (m_coordX != nullptr&&m_coordY != nullptr)

{

m_coordX->setPos(m_chart->size().width() / 2 - 200, m_chart->size().height() - 20);

m_coordY->setPos(m_chart->size().width() / 2 + 200, m_chart->size().height() - 20);

}

//foreach(Callout *callout, m_callouts)

// callout->updateGeometry();

}

QGraphicsView::resizeEvent(event);

}
           

一个view对应一个QChart,一个scene对应多个QChart

继续阅读