在Qpaintevent处理程序外面绘制

Drawing outside of the QPaintEvent handler

本文关键字:外面 绘制 程序 处理 Qpaintevent      更新时间:2023-10-16

我们有大QT项目,其中绘画过程通常不遵循应在覆盖 PaintEvent 方法中进行的规则。结果,我们对此有警告:画家不活跃等...但是所有人都可以正常工作,乍一看,我没有看到任何问题。您能解释一下我应该担心它吗?此功能不正确使用的价格是多少?

涂料事件应在应更新时发送到窗口,例如显示时或其他内容。例如,如果小部件被另一个窗口覆盖,并且该窗口已移开,则应更新小部件。常见的方法是在pixmap上绘画并在油漆事件处理程序中的小部件上绘制此pixmap。或者,您可以在每次需要重新粉刷它时更新/重新粉刷。

您可以使用Qpainter在需要时在PixMap,打印机等上绘制,但是要在Windget上绘制它必须在PaintEvent中进行。

我发现错误 - 当使用无效的pixmap(我创建了带有size 0x0的pixmap)时,发生了错误。我已经添加了检查检查,现在所有人都很好。