在Qpaintevent处理程序外面绘制
Drawing outside of the QPaintEvent handler
我们有大QT项目,其中绘画过程通常不遵循应在覆盖 PaintEvent 方法中进行的规则。结果,我们对此有警告:画家不活跃等...但是所有人都可以正常工作,乍一看,我没有看到任何问题。您能解释一下我应该担心它吗?此功能不正确使用的价格是多少?
涂料事件应在应更新时发送到窗口,例如显示时或其他内容。例如,如果小部件被另一个窗口覆盖,并且该窗口已移开,则应更新小部件。常见的方法是在pixmap上绘画并在油漆事件处理程序中的小部件上绘制此pixmap。或者,您可以在每次需要重新粉刷它时更新/重新粉刷。
您可以使用Qpainter在需要时在PixMap,打印机等上绘制,但是要在Windget上绘制它必须在PaintEvent中进行。
我发现错误 - 当使用无效的pixmap(我创建了带有size 0x0的pixmap)时,发生了错误。我已经添加了检查检查,现在所有人都很好。
相关文章:
- QuadTree只在窗口的右上角绘制
- 绘制旋转的三角形
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- SFML 文本未绘制在窗口上
- 如何在快板的屏幕中显示子位图的绘制?
- 如何绘制自定义形状的元素?
- QPainter 将 QBrush 设置为 在 QT/C++ 中绘制文本
- 除非重新绘制大小,否则SDL_Texture在调整大小后呈现黑色
- 绘制文本问题
- 在 QT C++中绘制/操作多边形
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 在现代OpenGL中,绘制GL_TRIANGLE奇怪的z轴行为的填充圆
- OpenGL 着色器不绘制任何东西 - 糟糕的精灵类
- 在Qpaintevent处理程序外面绘制