How to use QSvgRenderer load .svg in scene QGraphicsScene ?
Unsolved
General and Desktop
-
Hi!
I save a QGraphicsScene to an svg file.
How to use QSvgRenderer load .svg in scene QGraphicsScene ?
If I do so, I get a white screenQString newPath = QFileDialog::getOpenFileName(this, trUtf8("Open SVG"), path, tr("SVG files (*.svg)")); if (newPath.isEmpty()) return; path = newPath; scene->clear(); QSvgRenderer w; w.load(path); scene->setSceneRect(w.viewBoxF());
-
Hi,
What about using QGraphicsSvgItem ?
-
I did so, but how to set my scene the myItem?
QString newPath = QFileDialog::getOpenFileName(this, trUtf8("Open SVG"), path, tr("SVG files (*.svg)")); if (newPath.isEmpty()) return; path = newPath; scene->clear(); //QSvgRenderer myRenderer; QSvgRenderer* myRenderer = new QSvgRenderer(); myRenderer->load(path); //scene->setSceneRect(myRenderer->viewBoxF()); QGraphicsSvgItem *myItem = new QGraphicsSvgItem(); myItem->setSharedRenderer(myRenderer);
-
@Mikeeeeee said in How to use QSvgRenderer load .svg in scene QGraphicsScene ?:
I did so, but how to set my scene the myItem?
Please read documentation: https://doc.qt.io/qt-5/qgraphicsscene.html#addItem
-
Thanks. I did it, it worked.
QString newPath = QFileDialog::getOpenFileName(this, trUtf8("Open SVG"), path, tr("SVG files (*.svg)")); if (newPath.isEmpty()) return; path = newPath; scene->clear(); //QSvgRenderer myRenderer; QSvgRenderer* myRenderer = new QSvgRenderer(); myRenderer->load(path); //scene->setSceneRect(myRenderer->viewBoxF()); QGraphicsSvgItem *myItem = new QGraphicsSvgItem(); myItem->setSharedRenderer(myRenderer); scene->addItem(myItem);