在窗口设计界面上使用QChartView时,先放置一个QGraphicsView组件,然后升级为QChartView。
Fidx = 0;
FmaxX = 0;
FmaxY = 0;
FminX = 1000;
FminY = 1000;
//创建QChart 和 QLineSeries
chart = new QChart;
serial = new QLineSeries();
serial->setPointsVisible(true);
chart->removeAllSeries();
serial->clear();
//创建 坐标轴
QValueAxis* axisX = new QValueAxis;
QValueAxis* axisY = new QValueAxis;
axisX->setTitleText(bcq::str2qstr("时间")); //标题
axisY->setTitleText(bcq::str2qstr("y")); //标题
//关联chart、axisX、serial
chart->addAxis(axisX, Qt::AlignBottom);
chart->addAxis(axisY, Qt::AlignLeft);
chart->addSeries(serial);
serial->attachAxis(axisX);
serial->attachAxis(axisY);
chart->setTitle(bcq::str2qstr("test"));
chart->legend()->hide();// clear up bar
chart->setAnimationOptions(QChart::SeriesAnimations);
ui.charView->setChart(chart);
ui.charView->setRenderHint(QPainter::Antialiasing);
chart->axisX()->setMin(0);
chart->axisX()->setMax(1);
chart->axisY()->setMin(175);
chart->axisY()->setMax(225);
2、通过信号槽,动态添加需要显示的数据
//最多显示100个
int count = serial->points().size();
if (count >100)
{
serial->remove(0);
}
//改变坐标轴的范围
chart->axisX()->setMin(FmaxX-100);
chart->axisX()->setMax(FmaxX);
//chart->axisY()->setMin(FminY);
//chart->axisY()->setMax(FmaxY);
//添加数据到serial
serial->append(QPointF(x, y));
联系客服