def graphicRenderer(self, svgInput): #Graphics rendering. scene = QGraphicsScene() self.dlg.graphicsView.setScene(scene) webview = QGraphicsWebView() webview.setContent(svgInput, 'image/svg+xml') scene.addItem(webview)
def __init__(self): QWidget.__init__(self) self._main_container = main_container.MainContainer() self._explorer_container = explorer_container.ExplorerContainer() self.tabs = QTabWidget(self) #Graph widget self._graph = GraphicsView() self._graphMl = GraphicsView() # Graph scene self.scene = GraphicsScene(self._graph) self.sceneMl = GraphicsScene(self._graphMl) path = os.path.join(PRJ_PATH, "img", 'textX-ninja.svg') self.scene.webview = QGraphicsWebView() self.create_webview(path, self.scene, self._graph) self.scene.addItem(self.scene.webview) self._graph.setScene(self.scene) self.set_view(self._graph) self._graphMl.setScene(self.sceneMl) self.set_view(self._graphMl) self.tabs.addTab(self._graph, "Metamodel") self.tabs.addTab(self._graphMl, "Model") #Main Layout main_layout = QVBoxLayout(self) main_layout.setContentsMargins(0, 0, 0, 0) main_layout.setSpacing(0) main_layout.addWidget(self.tabs)
def load_graph(self, path, name, tabIndex): if tabIndex == 0: self.scene.clear() self.scene.webview = QGraphicsWebView() self.create_webview(path, self.scene, self._graph) self.scene.addItem(self.scene.webview) self._graph.setScene(self.scene) self._graph.fitInView(self.scene.itemsBoundingRect(), Qt.KeepAspectRatio) elif tabIndex == 1: self.sceneMl.clear() self.sceneMl.webview = QGraphicsWebView() self.create_webview(path, self.sceneMl, self._graphMl) self.sceneMl.addItem(self.sceneMl.webview) self._graphMl.setScene(self.sceneMl) self._graphMl.fitInView(self.sceneMl.itemsBoundingRect(), Qt.KeepAspectRatio) self.add_label(name, tabIndex) # focus on tab self.tabs.setCurrentIndex(tabIndex)