<p>尝试使用此HTML方法更改SVG图像尺寸:</p>
<pre><code><! you can test this code in any online html editor. >
<html>
<head>
<! blah blah blah... >
</head>
<body>
<p>all the images must be redrawn properly when SVG animation runs...</p>
<img height="250px" width="800px" border="5" src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e15d3619d42b28662c5952c9ece60cd928e31774">
</body>
</html>
</code></pre>
<p>在WebKit浏览器中,SVG的高度或宽度经常计算错误。要解决此问题,请使用以下CSS样式:</p>
^{pr2}$
<p>我最近发现了一个非常有用和有趣的帖子:<a href="https://css-tricks.com/scale-svg/" rel="nofollow noreferrer">CSS Tricks: How to Scale SVG</a>。在</p>
<p>或者尝试这种Python方法来更改描述的SVG图像尺寸<a href="https://stackoverflow.com/questions/8016050/pyqt-with-interactive-svg-images">Here</a>。在</p>
<pre><code>from PyQt5 import QtCore, QtGui, QtSvg
from PyQt5.QtWebKit import QGraphicsWebView
import sys
application = QtGui.QApplication(sys.argv)
myScene = QtGui.QGraphicsScene()
myView = QtGui.QGraphicsView(myScene)
box = QtSvg.QGraphicsSvgItem('/Users/swift/Desktop/myImage.svg').boundingRect()
webView = QGraphicsWebView()
webView.load(QtCore.QUrl('/Users/swift/Desktop/myImage.svg'))
webView.setFlags(QtGui.QGraphicsItem.ItemClipsToShape)
webView.resize(box.width(), box.height())
incWidth = 48
incHeight = 36
myScene.addItem(webView)
myView.resize(box.width() + incWidth, box.height() + incHeight)
myView.show()
sys.exit(app.exec_())
</code></pre>
<p>当然,您可以使用参数调用<code>setHtml()</code>公共函数:</p>
<pre><code>code =
"""
<html>
<head>
</head>
<body>
<! You can load SVG image itself. >
<img height="250px" width="800px" style="width: 100%;" src="myImage.svg">
<! Or you can load SVG Viewport and use other images inside it. >
<svg width="600" height="450">
<image href="myImage.svg" x="0" y="0" height="320px" width="240px"/>
</svg>
</body>
</html>
"""
self.webView.setHtml(code)
</code></pre>
<p>或通过Qt直接指定尺寸:</p>
<pre><code>svgImage = QImage(QSize(1280, 720))
</code></pre>
<p>另请看描述基于XML方法的<code>Qt SVG Documentation</code>的官方文件<a href="http://doc.qt.io/qt-5/qtsvg-index.html" rel="nofollow noreferrer">Here</a>。在</p>