QPainter::begin: A paint device can only be painted by one painter at a time

时间:2022-03-01 20:02:13
程序:
paintEvent()
{

     tank->paint();
     if(istrue==1)
           zidan->paint();
}

当isture==1的时候会出现错误
QPainter::begin: A paint device can only be painted by one painter at a time

到底怎么了
这是个qt程序

4 个解决方案

#1


。。请把问题说得清楚些,不然谁都不知道你出问题在哪里。。

#2


同求   有解决了的吗??

#3


有同样的问题,望高手解答!!!

#4


你的问题就像当调用update(),repaint()的时候,paintEvent()会被调用,另外,当界面有任何改变的时候,paintEvent()也会被调用,这种界面的改变包括界面从隐藏到显示,界面尺寸改变,当然还包括界面内容改变的时候会被调用。paintEvent()是已经被高度优化过的函数,它本身已经自动开启并实现了双缓冲(X11系统需要手动去开启双缓冲),因此Qt中重绘不会引起任何闪烁。paintEvent()是一个虚函数槽(slot),子类可以对父类的paintEvent进行重写。

#1


。。请把问题说得清楚些,不然谁都不知道你出问题在哪里。。

#2


同求   有解决了的吗??

#3


有同样的问题,望高手解答!!!

#4


你的问题就像当调用update(),repaint()的时候,paintEvent()会被调用,另外,当界面有任何改变的时候,paintEvent()也会被调用,这种界面的改变包括界面从隐藏到显示,界面尺寸改变,当然还包括界面内容改变的时候会被调用。paintEvent()是已经被高度优化过的函数,它本身已经自动开启并实现了双缓冲(X11系统需要手动去开启双缓冲),因此Qt中重绘不会引起任何闪烁。paintEvent()是一个虚函数槽(slot),子类可以对父类的paintEvent进行重写。