我用的是QT4.4以上的版本,LINXU下的
网上的一个例子
首先,要想把闪烁减弱,请设置组件的背景模式为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
虽然有注释,但是看得不是很懂,无法入手来重新写一个,而且04年的版本也太低了
比如这里的pic是哪个类也不清楚
http://doc.trolltech.com/qq/qq06-flicker-free.html也看过了,看得迷迷糊糊的
希望有人能帮我讲解一下这个例子的详细原理,或者提供一个QT4.4以上LINXU下的例子