我想使用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_())

Python相关问答推荐

使用SKLearn KMeans和外部生成的相关矩阵

Gekko解算器错误results.json未找到,无法找出原因

如何输入提示抽象方法属性并让mypy高兴?

Tokenizer Docker:无法为Tokenizer构建轮子,这是安装pyproject.toml项目所需的

FastAPI:使用APIRouter路由子模块功能

是否有方法将现有的X-Y图转换为X-Y-Y1图(以重新填充)?

仅对matplotlib的条标签中的一个条标签应用不同的格式

code _tkinter. Tcl错误:窗口路径名称错误.!按钮4"

Python中MongoDB的BSON时间戳

运行回文查找器代码时发生错误:[类型错误:builtin_index_or_system对象不可订阅]

Pandas 在最近的日期合并,考虑到破产

_repr_html_实现自定义__getattr_时未显示

处理带有间隙(空)的duckDB上的重复副本并有效填充它们

如何制作10,000年及以后的日期时间对象?

如何获取TFIDF Transformer中的值?

如何在虚拟Python环境中运行Python程序?

如果条件不满足,我如何获得掩码的第一个索引并获得None?

在ubuntu上安装dlib时出错

Scrapy和Great Expectations(great_expectations)—不合作

如何使用Pandas DataFrame按日期和项目汇总计数作为列标题