开始研究下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