【问题标题】:Best library for rendering and zooming SVG [closed]渲染和缩放 SVG 的最佳库 [关闭]
【发布时间】:2012-10-10 16:59:44
【问题描述】:

我刚刚开始使用 python,所以我需要有经验的人来指导我正确的方向。我使用 QT-Designer 制作了一个简单的 GUI,当我单击按钮时,我希望它加载并渲染一些 test.svg,我使用“gtk”和“rsvg”完成了这些操作。我还需要(在渲染之后)是可以进行缩放和平移。我应该为此使用一些好的(更好的)库吗?如果没有,对我(菜鸟)来说,这是最好和最简单的方法吗? 任何帮助将不胜感激。

【问题讨论】:

  • Qt 与 SVG 配合得非常好。有什么问题?
  • @BlaXpirit 谢谢你,我想我真的不知道去哪里找。因此,很快,这些行就完成了我想要的操作:'widget = QSvgWidget('C:\someTest.svg') widget.show()' 但我仍然无法缩放或平移渲染的 svg。还有两个问题:不渲染svg形状的不透明度,渲染的svg的纵横比不固定(窗口是可拉伸的)

标签: python svg pyqt rendering zooming


【解决方案1】:

我已经使用QGraphicsWebView 而不是QSvgWidget 解决了这个问题。 QGraphicsWebView 已经实现了互联网浏览器的所有功能,因此 svg 中的缩放、平移和脚本都可以正常工作。

    self.webview = QGraphicsWebView()
    self.webview.resize(SVGwidth,SVGheight)
    self.webview.load(QtCore.QUrl('C:\someTest.svg'))
    self.webview.setFlags(QtGui.QGraphicsItem.ItemClipsToShape)
    self.webview.setCacheMode(QtGui.QGraphicsItem.NoCache)
    self.webview.setZValue(0)

【讨论】:

    猜你喜欢
    • 2012-01-23
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2013-05-06
    • 1970-01-01
    • 2019-08-11
    相关资源
    最近更新 更多