QT下的一种流畅画、擦线的方法。

来源:互联网 发布:梦幻西游2网络错误 编辑:程序博客网 时间:2024/04/29 01:15

如果让去画一条线你会怎么实现呢?

很多人都会用一下的方法:

用一个数组保存好mouseMove的所有点,mouseMove一次就Update一次;然后用在paint()或者painterEvent()里通过drawLine()画出来;

如果这样做你就会发觉,当线画到一定长度的时候,已经很卡了,线就是一截一截的,因为鼠标每移动一次,就要刷新一次绘图设备,当然卡了;

接下来我就来介绍一种无论你画多长的线都不会卡顿的方法(非原创):

Qimage img;

qPainter *mPainter = new QPainter(&img);//这是重点;

mPainter.drawLine(PosA,PosB);



void painterEvent(){

QPainter *painter(this);

painter->drawImgae(0,0,img);//直接把图画出来,bingo!

}

0 0
原创粉丝点击