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);