QCustomPlot 绘制卡顿问题

这篇具有很好参考价值的文章主要介绍了QCustomPlot 绘制卡顿问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大数据量导致曲线绘制卡顿问题
这里提供一个思路在跟踪源码中发现底层卡顿在vector的resize() 此处扩容中

所以尽量使用下面的接口

/*! \overload
  
  Adds the provided data point as \a key and \a value to the current data.
  
  Alternatively, you can also access and modify the data directly via the \ref data method, which
  returns a pointer to the internal data container.
*/
void QCPGraph::addData(double key, double value)
{
  mDataContainer->add(QCPGraphData(key, value));
}

而不是使用addData这个接口,还有setData这个接口文章来源地址https://www.toymoban.com/news/detail-682667.html

/*! \overload
  
  Adds the provided points in \a keys and \a values to the current data. The provided vectors
  should have equal length. Else, the number of added points will be the size of the smallest
  vector.
  
  If you can guarantee that the passed data points are sorted by \a keys in ascending order, you
  can set \a alreadySorted to true, to improve performance by saving a sorting run.
  
  Alternatively, you can also access and modify the data directly via the \ref data method, which
  returns a pointer to the internal data container.
*/
void QCPGraph::addData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted)
{
  if (keys.size() != values.size())
    qDebug() << Q_FUNC_INFO << "keys and values have different sizes:" << keys.size() << values.size();
  const int n = qMin(keys.size(), values.size());
  QVector<QCPGraphData> tempData(n);
  QVector<QCPGraphData>::iterator it = tempData.begin();
  const QVector<QCPGraphData>::iterator itEnd = tempData.end();
  int i = 0;
  while (it != itEnd)
  {
    it->key = keys[i];
    it->value = values[i];
    ++it;
    ++i;
  }
  mDataContainer->add(tempData, alreadySorted); // don't modify tempData beyond this to prevent copy on write
}

到了这里,关于QCustomPlot 绘制卡顿问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt 解决界面频繁刷新卡顿的问题

    有时候当我们需要频繁刷新界面的时,界面就会出现卡顿,或者卡死的情况,这个时候需要这样做。 本例使用QTableView为例子为大家讲解解决方法。 猜想一:缓存+定时器 当有数据的时候调用setShowText()方法,将数据缓存到队列中,然后通过定时器QTimer,每隔一段时间调用slo

    2024年02月13日
    浏览(40)
  • 【QT】QCustomPlot开发笔记

    01、QCustomPlot简介 QCustomPlot 是一个用于科学绘图的 QT 第三方库,可以用于常见的二维图像绘制,比如函数曲线、参数方程曲线、热力图、柱状图、箱线图、极坐标绘图等。该库由德国人 Emanuel Eichhammer 开发,经历了多次版本迭代,支持跨平台,开源遵循 GNU GPL 协议,也可以联

    2024年02月12日
    浏览(37)
  • Qt实时波形绘图(使用QCustomPlot)

    目录 前言 一、Qt是什么? 二、QCustomPlot是什么? 三、Qt实时波形绘图         3.1 开发环境和工具         3.2 实时波形绘图控件 3.2.1 界面设计及功能 3.2.2 如何使用该控件 总结         我们在涉及或调试设备时,通常需要查看过程数据,以便了解设备的运行情况

    2024年02月08日
    浏览(36)
  • Qt开发1--QCustomPlot的第一个示例

    本文记录了在Linux上使用QCustomPlot进行一个基本绘制所需的完整过程,包括如何使用qtcreator,编辑ui以及编写相应的C++代码。以下是详细步骤: 1、使用qtcreator启动开发环境: 启动后,显示以下一个操作界面:  2、通过菜单栏File-New File or Project启动项目新建向导: 3、选择App

    2024年02月11日
    浏览(40)
  • Qt绘制边框有阴影兼容性问题

    在Qt开发过程中,有时候我们要显示一个有阴影的对话框,这时一般采用自定义实现,然而最近在开发时软件时,Win11上显示正常,Win10或其他Win11电脑显示不正常,存在兼容性问题吗? 下面是具体的源码 运行点击Button按钮 这是在Win11上显示的效果 这是在Win10上显示的效果,很

    2024年04月23日
    浏览(45)
  • Qt应用开发(拓展篇)——示波器/图表 QCustomPlot

             QCustomPlot 是一个用于绘图和数据可视化的Qt C++小部件。它没有进一步的依赖关系,提供友好的文档帮助。这个绘图库专注于制作好看的,出版质量的2D绘图,图形和图表,以及为实时可视化应用程序提供高性能。         QCustomPlot可以导出各种格式,如矢量化

    2024年02月11日
    浏览(39)
  • 【Qt】QCustomPlot组件跟随鼠标显示xy轴坐标位置

    目录 一、 问题描述 二、 解决方案 三、代码实现 一、 问题描述 如题所述。 二、 解决方案 自定义一个继承QCustomPlot类的实现类,重写mouseMove虚函数实现,从而获取鼠标位置,然后计算出点的坐标值,再利用QToolTip显示点坐标。 三、代码实现 继承自QCustomPlot组件的MFMCustomPl

    2024年02月11日
    浏览(46)
  • Qt关于QPainter绘制1px宽度图形带来的问题思考

    前段时间遇到这样一个问题,使用QPainter绘制直线的时候,设置了笔宽为1像素,但是绘制出来的线条却是2px宽度,而且设置的画笔颜色很明显是降低了透明度,不是最“纯正”的颜色。 当时就感觉非常奇怪,明明设置的画笔宽度是正常的,为啥绘制出来不是自己想要的样子。

    2023年04月20日
    浏览(38)
  • VS2022+qt5.14.2配置qcustomplot2.1.16(坑很多)

    QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用。 官方网址:https://www.qcustomplot.com/ 源码下载地址:https://www.qcustomplot.com/index.php/download 将qcustomplot.h和qcustomplot.cpp2个文件添加到QT项目,如下: 在项目属性Qt

    2024年02月13日
    浏览(48)
  • Qt5.14.x 动画效果卡顿?

    1、同一份代码,Qt5.14.2版本出现卡顿现象,难道Qt的新版本可能对操作系统、图形驱动或硬件要求有所变化。Qt 5.14.2可能需要更高的硬件性能或特定的图形加速支持,而Qt 5.7.1版本可能对较老的硬件或驱动兼容性更好。 2、上代码 求解惑????

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包