QT中Qwt、QChart、QCustomPlot使用与性能对比

QT中Qwt、QChart、QCustomPlot使用与性能对比QT 中对比 Qwt QChart QCustomPlot 三个绘图库 qcustomplot 在绘制大量点的二维曲线上性能优势明显 通过 qcustomplot 程序合理使用 包括开启硬件加速 及针对项

大家好,欢迎来到IT知识分享网。

推荐一个不错的人工智能学习网站,通俗易懂,内容全面,作为入门科普和学习提升都不错,分享一下给大家:https://www.captainbed.cn/ai

一.功能介绍

Qwt、QChart和QCustomPlot是Qt框架下的三个绘图库,它们各有特点,适用于不同的应用场景。

1. Qwt:是一个提供科学相关背景下的图表绘制的GUI元件库。它主要提供了一些基本的二维绘图部件,例如函数图、柱状图、温度计、转轮式的控件,并具有缩放、移动等功能。Qwt支持任何Qt能够支持的系统环境,并且可以兼容Qt4(4.4版本以上)和Qt5版本。Qwt具有较为完善的文档和丰富的实例程序,可以用来作为开发时的参考。在Qwt的最新版本中,提供了一些新的绘图控件,例如在线性坐标和对数坐标间转换的函数,重新设计的旋钮控件和滑动控件等,还提供了对OpenGL的基本支持。

2. QChart:是Qt图表使用图形视图框架以便于集成。QChart类管理不同类型的系列和其他图表相关对象(如图例和轴)的图形表示。QChart是一个QGraphicScene中可以显示的QGraphicsWidget。更简单的解决方案是使用方便类QChartView而不是QChart在布局中显示图表。在QML中,使用ChartView类型显示图表。通过使用QPolarChart类(QChart类的专门化)或polar ChartView QML类型(ChartView类型的专门化),某些图表组件也可以表示为极坐标图。可以通过使用主题、修改颜色和属性、隐藏图表组件或设置图表动画来自定义图表的外观。模型映射器允许使用从QAbstractItemModel类派生的数据模型作为图表的数据源。

3. QCustomPlot:是QT下一个方便易用的绘图工具,该绘图库专注于制作美观,出版品质的2D图表。它可以导出为各种格式,如矢量化的PDF文件和光栅化图像,如PNG,JPG和BMP。

总的来说,这三个库分别适用于不同的应用场景。Qwt主要适用于科学相关的图表绘制,QChart可以创建各种类型的图形视图,而QCustomPlot则专注于制作美观的2D图表。

二.对比

美观方面:

Qcustomplot≈Qchart > Qwt

Qcustomplot界面简洁大方;

Qchart界面华丽优美,其中QChart中绘制的线条处不能使用鼠标,所以在数据量大的时候会引响鼠标的缩放、移动图表操作;

Qwt界面老旧,在美观上不如Qcustomplot和Qchart ,并且在使用鼠标移动图表时会产生空白区域。

性能方面:

绘制数据性能:Qcustomplot > QwtQchart

测试条件:

处理器: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz

QT版本:QT5.12

画曲线:折线图

qcustomplot:10万平均耗时14ms,50万点平均耗时18ms,125万点平均耗23ms;1250万点平均耗时104ms 12500万点平均耗时960ms

qchart:10万平均耗时12ms,50万点平均耗时17ms,125万点平均耗24ms;1250万点平均耗时140ms

Qwt:10万点平均耗时3ms,125万点平均耗时24ms,1250万点平均耗时150ms;

综上,在画折线图的性能方面qcustomplot是最优选择。

QT中Qwt、QChart、QCustomPlot使用与性能对比

功能方面:

QChart、Qwt功能比较齐全,并且可绘制图表种类多;

qcustomplot在图表种类上、常用功能上较少。

使用方面:

QChart无需配置,主要在安装Qt时勾选就可以,在程序编写时上手较慢,许多功能需要重写;

Qwt安装配置比较复杂;

QCustomPlot体积小、简单易用,上手快,并且QCustomPlot只有两个源文件,可直接添加进工程,更容易直接修改源码。

三.Qcustomplot

官网下载地址:https://www.qcustomplot.com/index.php/download

  • 结论

对比三个绘图库,qcustomplot在绘制大量点的二维曲线上性能优势明显,通过qcustomplot程序合理使用(包括开启硬件加速)及针对项目需求的优化,在实际项目应用中应用qcustomplot做到实时刷新曲线一千万点是没有问题的,甚至设计合理还能做到更高。

博主在项目中就做到了1250万点的实时曲线刷新,同时还做了曲线的实时频谱分析并绘制频曲线图,如果有对提升曲线绘图效率感兴趣的人可以留言进一步沟通~

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122482.html

(0)
上一篇 2025-10-16 13:00
下一篇 2025-10-16 13:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信