c++ - 关于 QQuickPaintedItem 的性能和缩放
问题描述
我的应用程序中有一个自定义QQuickPaintedItem
项,现在我想知道如何正确缩放我创建的项目。在“Qt Widgets 世界”中,曾经有过QGraphicsView
,它的表现非常好,但似乎QQuickPaintedItem
无法与它的表现相提并论。我知道您可以QQuickItem
直接子类化,然后使用 QML 场景图,我可以使用 OpenGL(我一点也不熟悉)来渲染项目,但这对我来说不是一个选项。我想调查的是是否可以有效地缩放 QQuickPaintedItem,特别是一旦我绘制了该项目,那么我可以使用scale
QML 中的属性,但是这会缩放整个项目(因此使其变得模糊),而不是我想缩放项目的内容,但我怎样才能有效地做到这一点?在 Qt Creator 中提供的示例中,有一个SvgViewer,它显示了如何QGraphicsView
使用 a 来显示 SVG 图像并“完美地”缩放它。这种行为可以在 QML 中获得吗?
编辑:性能问题的根源是QQuickPaintedItem
不使用 QSG,因此它必须光栅化然后绘制项目。这导致在缩放时,必须在缩放时重新绘制项目。可以想象,每隔几毫秒重绘所有内容可能会非常昂贵
解决方案
推荐阅读
- dax - 时间格式的十进制分钟(表格立方体)
- r - 如何从使用具有不同美学长度的不同数据创建的绘图中创建绘图网格?
- vbscript - 使用 VBS 提交 Google 表单
- latex - 乳胶书目问题,它与 natbib 一起工作正常,不适用于 biblatex
- redis - 使用 Redis、Python 和 PHP 的基于事件的邮件
- c++ - 使用 pugixml 将 xml 命名空间添加到 xml_document
- python - 在 PyQt5 的 QTreeWidget 中使用 QTextCursor
- image - 如果图像 alt 标记为:则不显示:
- excel - 相同文本 VBA 宏的序列号
- powerbi - Power BI 高级编辑器 - 如果当前日期不在值列表中,如何运行查询?