• 7025阅读
  • 11回复

重绘事件 [复制链接]

上一主题 下一主题
离线294987445
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-21
我用QTimer设了一个定时器   设置每秒重绘自定义的GraphicsItem对象25次      但运行下来显示每秒只重绘了9次
下面是一些主要的代码     搞了几天不知道为什么     谢谢大家啦


QTime update_Draw = 40;
QObject::startTimer(update_Draw);
void DynamicView::timerEvent(QTimerEvent *event)
{    
        if(count == 25)  
        {        
                 ecg1.update();    //ecg1是QGraphicsItem类      
                 count = 0;  
        }  
        else  
       {      
                  count++;      
                  ecg1.update();  
        }
}
离线yjgna
只看该作者 1楼 发表于: 2011-08-21
我想重绘操作也需要时间吧
离线jdwx

只看该作者 2楼 发表于: 2011-08-21
回 楼主(294987445) 的帖子
要是重绘复杂内容,几秒一次都有可能。
再有就是一定要编译release的exe,和debug的区别很大。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线294987445
只看该作者 3楼 发表于: 2011-08-22
回 2楼(jdwx) 的帖子
对于一些我每次都要画的不会变化的东西   请问有什么方法可以只画一次   然后存起来下次使用
离线jdwx

只看该作者 4楼 发表于: 2011-08-22
回 3楼(294987445) 的帖子
双缓冲,画到QPixmap上面,用的时候贴过来。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线294987445
只看该作者 5楼 发表于: 2011-08-23
回 4楼(jdwx) 的帖子
非常感谢呀   时间几乎节省了快一半   就是用了这个方法后    出现了闪烁
离线jdwx

只看该作者 6楼 发表于: 2011-08-23
回 6楼(294987445) 的帖子
应该不闪,本身就是防止闪的方法,只是贴图,不要擦除背景。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线slwebwildwol
只看该作者 7楼 发表于: 2011-08-23
据说 update 并不会立刻触发重绘
离线roywillow

只看该作者 8楼 发表于: 2011-08-23
startimer传递一个QTime类型的变量……?我记得是传递个interval的int啊
想立刻重绘可以用repaint应该
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线294987445
只看该作者 9楼 发表于: 2011-08-23
回 9楼(roywillow) 的帖子
那个写错了   是#define那个    
但是我是要重绘自定义的GraphicsItem      但是这个item没有repaint函数啊     scene也没有这个函数 v iew有     但是调用了以后并不重绘     咋整啊   苦恼中
离线294987445
只看该作者 10楼 发表于: 2011-08-23
回 8楼(slwebwildwol) 的帖子
有什么办法让他立刻触发吗  跪求啊
离线cutemmll
只看该作者 11楼 发表于: 2011-08-24
一定要每秒重绘25次?一般来说用户并并不会太在意重绘的次数,最重要的是开始和结束的两帧一定要正确。而且就算绘制次数不够,只要能保证最终帧是正确绘制的,那么问题应该不大。

并且Graphics View 框架中有提供绘制动画的相关接口以及相关类。使用这些接口比直接使用QTimer来更新界面要好。详见
  1. void QGraphicsScene::advance () // 步进
  2. QGraphicsItemAnimation //动画类
相关文档




c------------enjoy qt & enjoy life-----------++
快速回复
限100 字节
 
上一个 下一个