7
我已经写了一个函数,必须在我的graphicsscene上绘制一个填满的黑色圆圈。该函数绘制黑色圆圈但未填满?这是我的函数:画一个填满的圆圈
void World::damage(int x, int y)
{
QPainter painter(&worldImage);
painter.setBrush(QBrush(Qt::black));
painter.drawArc(x,y,150,50,0,16*360);
item = new QGraphicsPixmapItem(QPixmap::fromImage(worldImage));
this->addItem(item);
}
亲切的问候,
嗨,这不会导致每次小部件进入视口时都会重新绘制,或者用户编辑小部件的其他部分?这不是昂贵的吗?没有办法一劳永逸吗? – SexyBeast 2016-02-12 00:48:11
Qt绘图系统尝试优化绘画事件的发生时间,以尽可能减少不必要的重绘,并且在大多数情况下足够了。如果绘制操作很复杂或经常重新绘制,那么可以通过绘制到像素图并将其缓存来引入优化。 – 2016-02-12 14:08:49