Qt绘画没有清除背景

时间:2009-10-29 15:24:02

标签: qt background clear qpainter

我正在使用QPainter在窗口上获取一些图形。不幸的是,每次调用paintEvent()函数时,都会清除整个窗口。如何在不清除的情况下绘制?即如何保持之前的油漆事件中的东西不受影响?

我正在使用Qt4

3 个答案:

答案 0 :(得分:5)

由于这两个回复仅适用于Qt3,因此这是Qt4的解决方案。你需要打电话

setAttribute(Qt::WA_OpaquePaintEvent);

(例如在构造函数中)遵循文档here

答案 1 :(得分:4)

您需要使用backgroundMode设置器设置setBackgroundModeQt::NoBackground枚举就是您要搜索的内容。

答案 2 :(得分:1)

在Qt3中,从WidgetFlags enum设置Qt::WNoAutoErase标志,以避免在每次绘制事件时清除窗口。

您可以将此标记传递给QWidget constructor