查看完整版本: [-- 关于paintEvent(QPaintEvent *)动态绘制 --]

QTCN开发网 -> Qt QML开发 -> 关于paintEvent(QPaintEvent *)动态绘制 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

14dzqiu 2016-08-13 18:40

关于paintEvent(QPaintEvent *)动态绘制

我打算做一个软件,就是收到了某些数据,然后在软件上画出相应的简单线条,简单地使用了一下QPainter,出现了一下问题:

在paintEvent里面有一小段用于实验的代码
{
    static qint8 i=0;    Paint.drawLine(0,0+i,2,2+i);    i++;    qDebug()<<i;
}
因为我在状态栏上添加了时间显示,并且用定时器不断更新状态栏中Label的text,所以应该会一直repaint,至少一秒会执行一次paintEvent。
但是这小段的代码,能够输出变量i按照每秒加1的速度输出显示出来0,1,2,3,4....,但是我画出来的线条却在原位置不变。

然后我尝试调节窗口大小,发现我画出来的线条才会变化。

请问这个是什么问题?如何实现按照不同变量画图这样的功能?

14dzqiu 2016-08-14 21:36
发现在定时器的槽里面加一个this-update()的话功能就可以实现了,要画的直线也动了,这是怎么回事呢?

6gongzi 2016-08-15 08:50
Qt自带双缓冲
update会引起界面重绘


查看完整版本: [-- 关于paintEvent(QPaintEvent *)动态绘制 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled