1
A
回答
1
你想缓存绘画在QImage
或QPixmap
(可能是QPixmap
)。如果你做了很多,你可能也想看看QPixmapCache
。
此外,可以预先计算大量绘图,然后使用QPainterPath
s很快完成。我会经常使用它们并在必要时重新计算,而不是在像素图中缓存整个绘画事件。
编辑:
我也跑进QPicture简单地提到,这也可能是你想要看的东西:
的QPicture类是油漆设备,记录和重放QPainter命令。
1
如果你想避免在paintEvent()中实例化变量,你可以使它们成为成员变量 - 这包括QPainter对象。你只需要调用update(),当你需要小部件重新绘制自己。
为什么你不想从头开始重新绘制它?这是某种不成熟的优化,还是你注意到放缓?
+0
没有注意到放缓,做它优化。 – 2009-12-29 19:20:20
+0
完成我的paintEvent后,我发现每次只重绘整个东西并不复杂 – 2009-12-29 22:47:30
相关问题
- 1. 如何在Qt中使用动画来堆叠小部件?
- 2. 如何使用Horde3d和OpenGL来绘制Qt小部件?
- 3. 如何在Qt中的小部件下绘制阴影?
- 4. 在Qt中打印复杂小部件
- 5. Qt小部件在某些条件下无法重绘
- 6. 优化小部件绘画
- 7. Qt:小部件在scrollarea中重叠
- 8. 在DLL中使用QT小部件
- 9. 如何在Qt中执行绘画?
- 10. 如何重新在Qt树小部件中的元素?
- 11. QT绘图不删除小部件
- 12. 如何在QT中的另一个小部件内部部件?
- 13. 如何在QT中的另一个小部件中绘制小部件的内容?
- 14. Qt如何将widget绘制重定向到父窗口小部件?
- 15. 如何在Qt中的自己的小部件中绘制标题?
- 16. 在窗体小部件中绘制窗体QT
- 17. 如何使窗口小部件背景在Qt中透明
- 18. 在MainWindow中覆盖小部件的绘画事件
- 19. QT小部件与QT GUI
- 20. 使用JavaScript在HTML5中重绘画布
- 21. 如何在tk.Text小部件上绘图?
- 22. Qt paintEvent我可以在子部件上绘画吗?
- 23. 如何在Qt中禁用属于布局的小部件?
- 24. Qt - 重新加载小部件内容
- 25. 如何在小部件treeview上画线
- 26. 如何在QT中的树视图项目中呈现复杂的小部件?
- 27. 如何在小部件中使用listview?
- 28. 如何在小部件中使用Eventbus?
- 29. 如何在小部件中使用jquery-ui复选框?
- 30. 简单的qt gui;重复部件
确保使用pixmap缓存的基于整数的接口,而不是基于旧的字符串的接口(在4.6中添加)。 – e8johan 2009-12-29 19:57:51