- class QGraphicsSvgItem#
类
QGraphicsSvgItem
是一个 QGraphicsItem,可以用来渲染 SVG 文件的内容。 更多信息…概述#
属性#
方法#
def
__init__()
def
elementId()
def
renderer()
def
setElementId()
注意
本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎提供给翻译的贡献。如果您发现翻译存在问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告诉我们
详细信息#
警告
本节包含从 C++ 自动翻译到 Python 的代码片段,可能包含错误。
QGraphicsSvgItem
为将 SVG 文件渲染到 QGraphicsView 提供了一种方法。QGraphicsSvgItem
可以通过将要渲染的 SVG 文件传递给其构造函数或显式设置共享QSvgRenderer
来创建。请注意,将
Q SvgRenderer
设置在QGraphicsSvgItem
上不会使项拥有渲染器的所有权,因此如果使用setSharedRenderer()
方法,必须确保QSvgRenderer
对象的寿命至少与QGraphicsSvgItem
一样长。QGraphicsSvgItem
通过setElementId
提供了仅渲染 SVG 文件一部分的方法。如果调用setElementId()
方法,则只渲染具有传递 id 的 SVG 元素(及其子元素)。这为选择性地渲染包含多个离散元素的较大 SVG 文件提供了一种方便的方法。例如,以下代码仅从包含完整牌组的 SVG 文件中渲染 jokersrenderer = QSvgRenderer("SvgCardDeck.svg") black = QGraphicsSvgItem() red = QGraphicsSvgItem() black.setSharedRenderer(renderer) black.setElementId("black_joker") red.setSharedRenderer(renderer) red.setElementId("red_joker")
可以通过直接操作项的转换矩阵来设置项的大小。
默认情况下,SVG 渲染使用 QGraphicsItem::DeviceCoordinateCache 模式进行缓存以加快项的显示。可以通过通过将 QGraphicsItem::NoCache 传递给 QGraphicsItem::setCacheMode() 方法来禁用缓存。
另请参阅
QSvgWidget
Qt SVG C++ 类QGraphicsItemQGraphicsView
注意
当使用
from __feature__ import true_property
时可以直接使用属性,否则通过访问器函数使用。- property elementId*: str#
此属性包含元素的XML ID。
此属性包含此项目的设备坐标缓存的最大尺寸。
- __init__([parentItem=None])#
- 参数:
parentItem –
QGraphicsItem
使用指定的
parent
构建一个新SVG项目。- __init__(fileName[, parentItem=None])
- 参数:
fileName – str
parentItem –
QGraphicsItem
使用指定的
parent
构建一个新项目,并加载指定fileName
的SVG文件内容。- elementId()#
- 返回类型:
str
返回正在渲染的元素的XML ID。如果正在渲染整个文件,返回空字符串。
另请参阅
属性
elementId*
的获取器。- isCachingEnabled()#
- 返回类型:
bool
请用 QGraphicsItem::cacheMode() 代替。
返回此物品当前设备坐标缓存的最大尺寸。如果使用 QGraphicsItem::DeviceCoordinateCache 模式缓存项目,则当项目在设备坐标中的扩展大于最大尺寸时,将跳过缓存。
默认最大缓存大小是1024x768。QPixmapCache::cacheLimit() 提供整个缓存的累计范围,而 maximumCacheSize() 指的是特定项目的最大缓存大小。
属性
maximumCacheSize
的获取器。- renderer()#
- 返回类型:
返回当前使用的
QSvgRenderer
。- setCachingEnabled(arg__1)#
- 参数:
arg__1 - bool
请使用 QGraphicsItem::setCacheMode()。将此函数传递 true 相当于 QGraphicsItem::setCacheMode(QGraphicsItem::DeviceCoordinateCache)。
另请参阅
- setElementId(id)#
- 参数:
id - str
将元素的 XML ID 设置为
id
。另请参阅
属性
elementId
的设置器。将项目的最大设备坐标缓存大小设置为
size
。如果项目使用 QGraphicsItem::DeviceCoordinateCache 模式进行缓存,并且项目的设备坐标扩展大于size
,则将绕过缓存。缓存对应于用于缓存渲染结果的 QPixmap。使用 QPixmapCache::setCacheLimit() 来设置整个缓存的限制,并在设置单个项目的缓存大小时使用 setMaximumCacheSize()。
属性
maximumCacheSize
的设置器。- 参数:
renderer -
QSvgRenderer
将
renderer
设置为-item上的共享QSvgRenderer
。通过使用此方法,可以在多个项目上共享同一QSvgRenderer
。这意味着SVG文件只会解析一次。QSvgRenderer
传递给此方法的实例必须在使用此项目的时间内存在。