2012-10-10 2 views
1

방금 ​​파이썬으로 작업하기 시작 했으므로 경험이있는 사람이 필요합니다. QT 디자이너를 사용하여 간단한 GUI를 만들었고 단추를 클릭하면 "gtk"및 "rsvg"를 사용하여 완성한 test.svg를로드하고 렌더링하려고합니다. 또한 (렌더링 된 후에) 필요한 것은 확대/축소 및 패닝을 사용할 수 있다는 것입니다. 거기에 내가 사용 했어야 할 좋은 라이브러리가 있습니까? 그렇지 않다면 나를 위해 가장 쉽고 쉬운 방법은 무엇입니까? 도움이 될 것입니다.렌더링 및 확대/축소를위한 최상의 라이브러리 SVG

+2

Qt는 SVG에서 잘 작동합니다. 뭐가 문제 야? –

+0

@BlaXpirit 고맙습니다. 어디보아야할지 모르겠군요. 그래서, 곧, 그 라인 내가 원하는 : '위젯 = QSvgWidget ('C : \ someTest.svg ') widget.show()'그래도 나는 확대/축소 된 svg를 확대/축소 할 수 없다. 두 가지 문제가 더 있습니다. svg 도형의 불투명도가 렌더링되지 않고 렌더링 된 svg의 종횡비가 수정되지 않습니다 (창은 늘릴 수 있음) – Aleksandar

답변

0

QSvgWidget 대신 QGraphicsWebView을 사용하여 해결했습니다. 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) 
관련 문제