最近做的项目需要同时开启 8 个界面,当数据量很大时,页面切换时,会导致卡顿,找了很久也么找到原因。最终在大神的帮助下找到了。
将 QPen 的设置放到了 for 循环中间,当数据量大时,不断的设置,导致界面卡。

{QPainter painter(this);QPen pen;QPainterPath path;int size = m_curveData.size();if(size == 0)return;for(int i=0; i<size; i++){qreal x = rect.left() + i*rect.width()/size;qreal y = rect.bottom() - (yVal-m_yMin)*rect.height()/(m_yMax-m_yMin);if(i==0)path.moveTo(x, y);elsepath.lineTo(x, y);/* 此处放到 for 循环外面if(dataType == Real){pen.setColor(QColor(0,255,0));}else if(dataType == Min){pen.setColor(QColor(255,255,0));}else if(dataType == Max){pen.setColor(QColor(255,0,0));}else if(dataType == Avg){pen.setColor(QColor(0,0,255));}painter.setPen(pen);*/}if(dataType == Real){pen.setColor(QColor(0,255,0));}else if(dataType == Min){pen.setColor(QColor(255,255,0));}else if(dataType == Max){pen.setColor(QColor(255,0,0));}else if(dataType == Avg){pen.setColor(QColor(0,0,255));}painter.setPen(pen);painter.drawPath(path);
}

QPainter引起的界面刷新问题相关推荐

  1. java swing刷新_Swing界面刷新问题(转)

    在Java Swing编程中,往往会遇到需要动态刷新界面的时候,例如动态刷新JLabel的文本,JTextField里的文本等等.但是往往却没有达到我们预期的效果,我相信很多朋友都遇到过本文将要说的这 ...

  2. 程序图形化界面刷新以及如何从tkinter窗口中正确读出数据

    1.问题提出 在做图形化编程时经常遇到界面刷新函数,如python tkinter中的mainloop,java线程new和remove并用等等.但是想要使用图形化界面的数据(输入的文本数据或其他)时 ...

  3. 清理localstorage_vue 界面刷新数据被清除 localStorage的使用详解

    localStorage是html5新增的一个本地存储API,它有5M的大小空间,通过(key,value)的方式存储在浏览器中 window.localStorage.setItem('key', ...

  4. SwiftUI 界面刷新 外部修改 ObservableObject @ObservedObject @Published

    使用State的变量只有在View body里面修改才能更新界面,在其他位置修改不会同步界面,此时需要使用协议ObservableObject来修饰外部类,其中监听的属性使用@Published,声明 ...

  5. Android界面刷新

    Android的invalidate与postInvalidate都是用来刷新界面的,用法区别在于: 1)invalidate():实例化一个Handler对象,并重写handleMessage方法调 ...

  6. 关于Swing中使用Substance皮肤和界面刷新问题一角

    问题一.Swing使用Substance皮肤教程 请点链接刚开始遇到的问题基本都有http://insubstantial.github.io/insubstantial/substance/docs ...

  7. 【微信小程序企业级开发教程】界面刷新获取新更新数据

    在微信小程序开发的过程中,在一个页面中对数据操作之后我们大多数时间都需要刷新一下当前界面以把操作之后的结果显示出来,但是如何在执行操作后进行本页面的刷新就成了一个问题很大但是很需要的操作.下面介绍一下 ...

  8. android切换到上个页面,Android 返回上一个界面刷新数据

    有些界面需要返回上一个界面刷刷新数据,再此做个记录. 首先startActivityForResult进行Actvity进行跳转,这是跳转前的界面. // 通过 startActivityForRes ...

  9. android 自动界面刷新,利用SwipeRefreshLayout实现类似知乎客户端的一打开界面就自动刷新的效果...

    前言 最近在学习下拉刷新的过程中,遇到了一个需求:实现一个图书馆藏的首页推荐页,为了追求良好的用户体验,要求刚进入页面时就开始刷新,如下图: 刚进入就刷新 为了实现这个效果使用了SwipeRefres ...

最新文章

  1. mysql防止索引崩溃_MySQL优化之避免索引失效的方法
  2. MyBatis 通用Mapper 入门教程
  3. ios yymodel 将字典转数组模型_Python3 字典
  4. 路由器的修改特权密码、还原出厂设置、备份配置文件和升级操作系统实际操作...
  5. 内核常见锁的机制与实现分析1
  6. Caffarelli 关于自由边界正则性的论文C1
  7. oracle启动时报错ORA-00845 MEMORY_TARGET not supported on this system
  8. 流行歌曲演唱的风格与技巧
  9. STL的Vector介绍
  10. 转:Python正则表达式操作指南
  11. Day21 linux安装RPM包
  12. ARP协议-路由交换原理5-【HCNA笔记】
  13. Line-in和Mic-in的区别和使用及Line-out
  14. 极化SAR图像特征提取与分类方法研究
  15. linux清理硬盘工具,linux磁盘清理方法 Linux 下垃圾清理工具 BleachBit
  16. 奥克兰理工大学计算机学院,9月17日学术报告(新西兰奥克兰理工大学 Prof. Re
  17. 解决 SysFader:iexplore.exe应用程序错误
  18. android pc扩展屏幕分辨率,让闲置的iPad / Android平板电脑成为计算机屏幕的扩展显示!...
  19. Excel合并多个有文本的单元格
  20. Tuxera NTFS2022Mac驱动完美支持NTFS硬盘读写

热门文章

  1. uni-app 封装底部弹出框
  2. 将c#窗体从一个项目1移动到另外一个项目2中
  3. sql删除用逗号分隔字段中的某一个值
  4. 制作LOGO 12种专用字体
  5. cron表达式指定每周几调度
  6. MATLAB 2008a 激活成功后还要激活(许可证过期)
  7. matlab获取全局变量的值_MATLAB中搜索、查询和全局变量的用法(摘录)
  8. PostgreSQL-Arcgis地理数据库中的系统表
  9. redisTemplate 实现有序集合排序
  10. zz国外接活网站Elance, Freelancer和ScriptLance的介绍和对比