您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

带有交互式SVG图像的pyQt

带有交互式SVG图像的pyQt

我遇到了同样的问题,而您的问题为我指明了正确的方向(使用QGraphicsWebView())。解决方法实际上非常简单:

import sys
from PyQt4 import QtCore, QtGui, QtSvg
from PyQt4.QtWebKit import QGraphicsWebView
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)

    scene = QtGui.QGraphicsScene()
    view = QtGui.QGraphicsView(scene)

    br = QtSvg.QGraphicsSvgItem("C:\your_interactive_svg.svg").boundingRect()

    webview = QGraphicsWebView()
    webview.load(QtCore.QUrl("C:\your_interactive_svg.svg"))
    webview.setFlags(QtGui.QGraphicsItem.ItemClipsToShape)
    webview.setCacheMode(QtGui.QGraphicsItem.NoCache)
    webview.resize(br.width(), br.height())

    scene.addItem(webview)
    view.resize(br.width()+10, br.height()+10)
    view.show()
    sys.exit(app.exec_())

它对我来说很完美(脚本和其他内容)。

如您所见,我也将svg加载为QGraphicsSvgItem,因为我不知道其他方法获取svg的大小。

其他 2022/1/1 18:43:43 有456人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶