5

我正在使用 QPainter 在窗口上获取一些图形。不幸的是,每次paintEvent()调用该函数时,都会清除整个窗口。不清零怎么画?即,我如何让以前的绘画活动中的东西保持不变?

我正在使用 Qt4

4

3 回答 3

5

由于这两个答复仅针对 Qt3,因此这里是针对 Qt4 的解决方案。你需要打电话

setAttribute(Qt::WA_OpaquePaintEvent);

(例如在构造函数中)遵循此处的文档。

于 2013-08-09T11:37:52.480 回答
4

您需要backgroundMode使用setBackgroundModesetter 进行设置。Qt::NoBackground枚举就是您要搜索的内容。

于 2009-10-29T15:44:26.760 回答
1

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

您可以通过将其传递给QWidget 构造函数来设置此标志。

于 2009-10-29T15:30:17.033 回答