• 8329阅读
  • 11回复

[提问]QT 中调用 update()?重绘时间没有发生的原因? [复制链接]

上一主题 下一主题
离线青春岁月
 

只看楼主 倒序阅读 楼主  发表于: 2011-11-09
关键词: 没有重绘update
QT 中调用 update()?重绘事件没有发生的原因?谁知道是什么原因?
go!   go!  go!  go!
离线jdwx

只看该作者 1楼 发表于: 2011-11-09
回 楼主(青春岁月) 的帖子
我记得在Qt书中是这么说的,多个连续的update()调用会被简化成一个调用,widget不可见时update()不做任何事。(以上是大概意思)
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线青春岁月

只看该作者 2楼 发表于: 2011-11-09
回 1楼(jdwx) 的帖子
但是绘图事件没有发生,是什么原因?
go!   go!  go!  go!
离线青春岁月

只看该作者 3楼 发表于: 2011-11-09
我用了定时器,10ms更新一次!
go!   go!  go!  go!
离线青春岁月

只看该作者 4楼 发表于: 2011-11-09
但是图上还是一条线?
go!   go!  go!  go!
在线uidab

只看该作者 5楼 发表于: 2011-11-09
回 4楼(青春岁月) 的帖子
再详细描述一下你具体代码吧!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线roywillow

只看该作者 6楼 发表于: 2011-11-09
需要你的具体代码
你在paintEvent里做了什么?说不定你的代码就是 只绘制一条直线
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 7楼 发表于: 2011-11-09
回 2楼(青春岁月) 的帖子
10ms更新一次本身就不是好办法,窗口在需要重绘的时候自己会调用painterEvent,
只是在需要重绘的时候update()一次就好了。
你在哪个函数里10ms     update()?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jorneyr

只看该作者 8楼 发表于: 2011-11-10
使用update()会产生事件压缩,如果你想立即更新界面那就调用repaint();
离线青春岁月

只看该作者 9楼 发表于: 2011-11-10
我在重绘函数里面,定义了一个标志位,根本不输出,说明没有发生update!我定义了一个定时器,10ms更新一次!
go!   go!  go!  go!
离线jdwx

只看该作者 10楼 发表于: 2011-11-10
回 9楼(青春岁月) 的帖子
不会是没有connect定时器和槽吧?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线dxfans

只看该作者 11楼 发表于: 2012-02-17
你在paintevent函数里打印输出,看是否有输出即可(定时器间隔)。。
快速回复
限100 字节
 
上一个 下一个