QChart是 QGraphicsWidget的子类。 QCharView是QGraphicsView的子类
QCharView概念:title、系列、图标Chart、视图
说明:
- 需要添加Qt组件charts
- 在使用QChart或者QChartView之前需要添加宏定义QT_CHARTS_USE_NAMESPACE (其实是使用了命名空间),不然不能识别QChart或者QChartView
3.在添加宏定义QT_CHARTS_USE_NAMESPACE之前需要包含头文件#include <QChart>不然宏定义无法识别
4.QChart析构时不会析构其中的系列。除非设置系列的父指针为QChart
使用方法
1.将QWidget(ui.widget)提升为QChartView;
2.定义QChart *型对象 m_pChart
3.代码
m_pChart = new QChart();
//将图标绑定到视图中
ui.widget->setChart(m_pChart);
//设置反走样
ui.widget->setRenderHint( QPainter:: Antialiasing, true);
//创建折现系列
QLineSeries *pLineSeries = new QLineSeries( m_pChart);
pLineSeries->setName(QStringLiteral("折线1"));
//设置点是否显示,默认不显示
pLineSeries-> setPointsVisible( true);
//设置点坐标的显示格式以及是否显示
pLineSeries->setPointLabelsFormat("(@xPoint:@yPoint)");
pLineSeries->setPointLabelsVisible(true);
//设置点的形状、颜色、大小
series1->setMarkerShape(QScatterSeries::MarkerShapeCircle);//圆形的点
series1-> setBorderColor( series-> color()); //离散点边框颜色
series1-> setMarkerSize( series-> pen(). width()); //离散点大小
//为系列添加数据
for (int i = 0; i < 100; i++)
{
pLineSeries->append(i, sin(0.6f*i));
}
//将系列添加到图标中
m_pChart->addSeries(pLineSeries);
//为图表添加默认的坐标轴。必须在添加系列之后不然无效
m_pChart->createDefaultAxes();
//设置图表标题
m_pChart->setTitle(QStringLiteral("折线图"));
//隐藏图例
m_pChart->legend()->hide();
//设置图表主题
m_pChart->setTheme(QChart::ChartThemeBlueCerulean);