• 3104阅读
  • 2回复

[提问]关于paintEvent(QPaintEvent *)动态绘制 [复制链接]

上一主题 下一主题
离线14dzqiu
 

只看楼主 倒序阅读 楼主  发表于: 2016-08-13
我打算做一个软件,就是收到了某些数据,然后在软件上画出相应的简单线条,简单地使用了一下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

只看该作者 1楼 发表于: 2016-08-14
发现在定时器的槽里面加一个this-update()的话功能就可以实现了,要画的直线也动了,这是怎么回事呢?
离线6gongzi

只看该作者 2楼 发表于: 2016-08-15
Qt自带双缓冲
update会引起界面重绘
快速回复
限100 字节
 
上一个 下一个