魔方网表 让信息化更简单

 找回密码
 注册
查看: 3651|回复: 0

Qt组件中的双缓冲无闪烁绘图(整理)

[复制链接]
admin 发表于 2008-11-18 20:08:00 | 显示全部楼层 |阅读模式
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://junglesong.yourblog.org/logs/102530.html


首先,要想把闪烁减弱,请设置组件的背景模式为NoBackground. setBackgroundMode(NoBackground); 其次,重载组件的paintEvent()函数,如下改写: void MyWidget::paintEvent(QPaintEvent *e) { QRect ur=e->rect();//得到组件尺寸 QPixmap pix(ur.size());//以此为参数创建一个位图变量 pix.fill(this,ur.topLeft());//填充位图 QPainter p(&pic);//以位图为参数创建一个QPainter 对象 p.translate(-ur.x(),-ur.y());//在QPainter 上绘画 //......//Drawing p.End();//绘画完毕 bitBlt(this,ur.topLeft().&pix);//把位图贴到组件上 } junglesong 整理 2004-1-24
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-3-29 02:20 , Processed in 0.068617 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表