我想使用PySide显示一个svg
文件.但我更喜欢不必创建一个file.svg
,然后使用QSvgWidget
加载它
相反,我只是将file.svg
个内容的文件内容作为字符串存储在一个变量中.
我该如何直接从变量加载SVG,而不是形成文件.
最好的
我想使用PySide显示一个svg
文件.但我更喜欢不必创建一个file.svg
,然后使用QSvgWidget
加载它
相反,我只是将file.svg
个内容的文件内容作为字符串存储在一个变量中.
我该如何直接从变量加载SVG,而不是形成文件.
最好的
您需要将字符串转换为QByteArray.
从QSvgWidget.load个文档中:
PySide6.QtSvgWidgets.QSvgWidget.load(contents)
个参数:
目录--
PySide6.QtCore.QByteArray
份
以下是完整的demo:
from PySide6.QtWidgets import QApplication
from PySide6.QtSvgWidgets import QSvgWidget
from PySide6.QtCore import QByteArray
import sys
svg_string="""<svg width="50" height="50">
<circle cx="25" cy="25" r="20"/>
</svg>"""
svg_bytes = QByteArray(svg_string)
app = QApplication(sys.argv)
svgWidget = QSvgWidget()
svgWidget.renderer().load(svg_bytes)
svgWidget.show()
sys.exit(app.exec_())