在此代码中:
QPainter painter(&image);
// do painting .......
painter.end(); // is this needed?
image.save(tempFileName);
我需要在保存QImage之前关闭QPainter,以便清除所有更改,还是可以在关闭QPainter对象之前保存它?
答案 0 :(得分:1)
是的,您应在致电painter.end()
之前致电image.save()
。 painter.end()
的行为最终取决于运行程序运行的任何平台上使用的底层绘制引擎。您可以使用某些版本的Qt在某些平台上的image.save()
之前调用painter.end()
,但更改您的平台或您的平台Qt的版本可能会在以后引起你的问题。