我尝试使用 QSvgWidget 呈现嵌入式 svg 文件。我的文件“front.svg”如下所示:
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="500" height="500" id="svgfile">
<rect style="fill:#ff0000;" id="rect1" width="150" height="200"/>
<svg x="100" y="100">
<rect style="fill:#00ff00;" id="rect2" width="200" height="120"/>
</svg>
</svg>
这个文件在 Chrome 或 Inkscape 中看起来很正常,但在 svgwidget 中看起来很奇怪。只有绿色矩形可见,红色很小,隐藏在绿色矩形后面。这是我的python代码:
import sys
from PySide.QtGui import QApplication
from PySide.QtSvg import QSvgWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = QSvgWidget('front.svg')
widget.show()
sys.exit(app.exec_())
有谁知道,是我做错了什么,还是 PySide 中的一些错误?