繁体   English   中英

在QPaintEvent处理程序之外绘图

[英]Drawing outside of the QPaintEvent handler

我们有一个大型的QT项目,其中绘画过程通常不遵循应在覆盖的paintEvent方法中进行的规则。 结果,我们对此发出了警告:画家没有处于活动状态等。。。但是一切正常,乍一看,我看不到任何问题。 您能解释我是否担心吗? 错误使用此功能的代价是什么?

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

您可以随时使用QPainter在pixmap,打印机等上进行绘制,但是在windget上进行绘制必须在paintEvent中完成。

我发现了错误-使用无效的像素图(我创建的像素图大小为0x0)时发生。 我对此进行了添加检查,现在一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM