Qt4中学习使用QtCharts绘图六:绘制动态曲线

发布于:2022-12-25 ⋅ 阅读:(837) ⋅ 点赞:(0)

一、实例编写环境

操作系统:Windows 10 企业版

开发环境:Qt4.8.6,QtCharts

开发工具:Visual Studio 2010 旗舰版

编程语言:C++

二、涉及内容

        本实例主要讲解通过QtCharts绘制面积图表,涉及的QtCharts的主要类有如下内容:QSplineSeries、QValueAxis、QChart、QChartView。

       QSplineSeries存储了数据点以及QPainterPath绘制样条所需的段控制点,当数据发生变化时,控制点会自动计算出来。该算法计算这些点,以便绘制法线样条。

       QValueAxis类用于操作图表的轴。ValueAxis可以设置为显示带有标记、网格线和阴影的轴线。坐标轴的值被绘制到刻度的位置。

       QChart是一个QGraphicsWidget,可以在QGraphicsScene中显示。它管理不同类型的系列和其他图表相关对象(如图例和轴)的图形表示。如果您只是想在布局中显示图表,您可以使用方便的类QChartView而不是QChart。

       QChartView是一个独立的小部件,可以显示图表。它不需要单独的QGraphicsScene来工作。如果您希望在现有的QGraphicsScene中显示图表,则需要使用QChart(或QPolarChart)类。

三、实例效果

四、代码片段

	
        ui.graphicsView->setRenderHint(QPainter::Antialiasing);

	m_Chart  = new QChart();
	m_Chart->setTheme(QChart::ChartThemeBlueCerulean);
	
	m_series = createLineSeries();
	m_axis  = new QValueAxis();
	m_axis->setTickCount(5);

	m_Chart->addSeries(m_series);
	m_Chart->createDefaultAxes();
	m_Chart->setAxisX(m_axis, m_series);
	m_Chart->axisX()->setRange(0, 10);
	m_Chart->axisY()->setRange(-5, 10);
	

	ui.graphicsView->setChart(m_Chart);
	qreal x = m_Chart->plotArea().width() / m_axis->tickCount();
	qreal y = (m_axis->max() - m_axis->min()) / m_axis->tickCount();
	
	m_x += y*0.1;
	m_y = qrand() % 5 - 2.5;
	m_series->append(m_x, m_y);

五、实例获取

如果您需要查看源码可以留留言获取或去笔者的下载中心搜索下载哦!  点击下载 

记得点赞收藏,谨防丢失!!!

本文含有隐藏内容,请 开通VIP 后查看

今日签到

点亮在社区的每一天
去签到