在QPaintEvent处理程序之外绘图

时间:2017-11-28 09:32:36

标签: c++ qt

我们有一个很大的QT项目,其中绘制过程通常不遵循应该在重写的 paintEvent 方法中完成的规则​​。结果我们有关于它的警告:画家没有活动等......但是一切正常,乍一看我没有看到任何问题。你能解释我应该担心吗?错误使用此功能的价格是多少?

2 个答案:

答案 0 :(得分:0)

当应该更新时,将事件发送到窗口,例如,当显示它或其他内容时。例如,如果窗口小部件被另一个窗口覆盖,并且此窗口被移走,则应该更新窗口小部件。常见的方法是在像素图上绘制并在绘图事件处理程序中的小部件上绘制此像素图。或者您可以在每次需要重新绘制时更新/重新绘制。

您可以随时使用QPainter在像素图,打印机等上绘图,但要在windget上绘制,必须在paintEvent中完成。

答案 1 :(得分:0)

我发现错误 - 当使用无效像素图(我创建了大小为0x0的像素图)时发生了这种情况。我已经添加了检查,现在一切都很好。