• 15699阅读
  • 17回复

111 [复制链接]

上一主题 下一主题
离线rekols
 

只看楼主 倒序阅读 楼主  发表于: 2017-10-29
1111
1条评分金钱+1
music010 金钱 +1 优秀文章,支持!n神马都是浮云 2018-02-09
离线rekols

只看该作者 1楼 发表于: 2017-10-29
这种方法比起来更省资源
离线liuchangyin

只看该作者 2楼 发表于: 2017-10-29
离线liudianwu

只看该作者 3楼 发表于: 2017-10-29
用 repaint();很容易引起崩溃的,尤其是频繁刷新界面的情况下,基本上不建议用 repaint();,建议用update();
专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!你正好需要,我正好专业!QQ:517216493 微信:feiyangqingyun Email:feiyangqingyun@163.com
群号:853086607(Qt交流大会,雨田哥群,不定期上传作品,解答作品中相关问题!) 312125701(QtQML多多指教群) 46679801(Qt开发技术交流群-5000人大群)
离线rekols

只看该作者 4楼 发表于: 2017-10-29
回 liudianwu 的帖子
liudianwu:用 repaint();很容易引起崩溃的,尤其是频繁刷新界面的情况下,基本上不建议用 repaint();,建议用update(); (2017-10-29 19:52) 

谢谢指导
离线九重水

只看该作者 5楼 发表于: 2017-10-29
  
离线msccreater

只看该作者 6楼 发表于: 2017-10-30
我比较在意楼主用的什么系统?感觉很好看
离线rekols

只看该作者 7楼 发表于: 2017-10-30
回 msccreater 的帖子
msccreater:我比较在意楼主用的什么系统?感觉很好看 (2017-10-30 09:54) 

deepin.org
离线stlcours

只看该作者 8楼 发表于: 2017-10-30
回 liudianwu 的帖子
liudianwu:用 repaint();很容易引起崩溃的,尤其是频繁刷新界面的情况下,基本上不建议用 repaint();,建议用update(); (2017-10-29 19:52) 

原理是啥?照理说,update是直接调用刷新函数,太忙的时候,才容易崩溃。为什么反而是repaint有这个问题?
离线liudianwu

只看该作者 9楼 发表于: 2017-10-30
回 stlcours 的帖子
stlcours:原理是啥?照理说,update是直接调用刷新函数,太忙的时候,才容易崩溃。为什么反而是repaint有这个问题? (2017-10-30 16:30) 

repaint是强制刷新,不管死活的,update是放入事件队列,让qt事件机制去处理。repaint频率过高很容易崩掉的。可自行看qt帮助文档!
专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!你正好需要,我正好专业!QQ:517216493 微信:feiyangqingyun Email:feiyangqingyun@163.com
群号:853086607(Qt交流大会,雨田哥群,不定期上传作品,解答作品中相关问题!) 312125701(QtQML多多指教群) 46679801(Qt开发技术交流群-5000人大群)
离线stlcours

只看该作者 10楼 发表于: 2017-10-30
回 liudianwu 的帖子
liudianwu:repaint是强制刷新,不管死活的,update是放入事件队列,让qt事件机制去处理。repaint频率过高很容易崩掉的。可自行看qt帮助文档! (2017-10-30 17:12) 

看了,与你说的正好相反:

void QWidget::repaint()

Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the widget is hidden.

We suggest only using repaint() if you need an immediate repaint, for example during animation. In almost all circumstances update() is better, as it permits Qt to optimize for speed and minimize flicker.

Warning: If you call repaint() in a function which may itself be called from paintEvent(), you may get infinite recursion. The update() function never causes recursion.

http://doc.qt.io/qt-5/qwidget.html#repaint
离线liudianwu

只看该作者 11楼 发表于: 2017-10-30
回 stlcours 的帖子
stlcours:
看了,与你说的正好相反:
void QWidget::repaint()
.......

你啥英文水平?能不能有点常识!你看过Qt内部控件的源码么?
专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!你正好需要,我正好专业!QQ:517216493 微信:feiyangqingyun Email:feiyangqingyun@163.com
群号:853086607(Qt交流大会,雨田哥群,不定期上传作品,解答作品中相关问题!) 312125701(QtQML多多指教群) 46679801(Qt开发技术交流群-5000人大群)
离线hehui

只看该作者 12楼 发表于: 2017-11-01
回 stlcours 的帖子
stlcours:看了,与你说的正好相反:
void QWidget::repaint()
....... (2017-10-30 19:24) 

如无必要不要用repaint,用update!!!!!!!!!
repaint会强制更新,而update用了事件队列有优化,会忽略一些不必要的更新操作!
离线rekols

只看该作者 13楼 发表于: 2017-11-02
回 hehui 的帖子
hehui:如无必要不要用repaint,用update!!!!!!!!!
repaint会强制更新,而update用了事件队列有优化,会忽略一些不必要的更新操作! (2017-11-01 19:12) 

谢谢你们两的提醒。
离线hunterzf

只看该作者 14楼 发表于: 2017-11-05
不错,还能用,谢谢
离线music010

只看该作者 15楼 发表于: 2018-02-09
优秀文章,支持!n神马都是浮云
离线q小玩家

只看该作者 16楼 发表于: 2018-03-03
          
离线sunnyhyh

只看该作者 17楼 发表于: 2019-07-22
图标加上比较贴切。。。
快速回复
限100 字节
 
上一个 下一个