QTcharts总结

  • 先创建Series,然后再把Series添加到chart中。

  • 创建AXIS添加到Chart,然后再添加到Series中。

chart是在scene中,scene在view中。

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

  • 只画图不需要交互,简单显示图 用 QCHARTVIEW + QCHART
  • 需要交互复杂画图 用 SCENE + QCHART + QGRAPHICSVIEW

用第二种交互模式时候CHART不会自动改变大小,要重载resize控制

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

你可能感兴趣的:(QTcharts总结)