我想使用 PySide 显示
svg
文件。但我不想创建 file.svg
然后使用 QSvgWidget
加载它
我只是将
file.svg
内容的文件内容作为字符串存储在变量中。
我如何直接从变量加载 SVG 而不是形成文件。
最好
您需要将字符串转换为QByteArray。
这是完整的演示:
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_())