Как открыть файл SVG в QT (QGraphicsView)

Как открыть файл SVG, как файл PNG.
Например, это работает для png файла:

scene=new QGraphicsScene(QRect(10, 10, 680, 520));
view=new QGraphicsView(this);
image=new QGraphicsPixmapItem(QPixmap("example.png"));

scene ->addItem(image);
view ->setScene(scene);
view ->setGeometry(QRect(270, 35, 700, 540));

Есть идеи?

3

Решение

Согласно моему комментарию, вы можете использовать QGraphicsSvgItem согласно документация:

QGraphicsSvgItem :: QGraphicsSvgItem (const QString & fileName, QGraphicsItem * parent = 0)

Создает новый элемент с указанным родителем и загружает содержимое файла SVG с указанным fileName.

Итак, вы бы написали что-то вроде следующего:

 QGraphicsSvgItem *item = new QGraphicsSvgItem("example.svg");

Вы также можете следовать примеру в документации, если хотите использовать его вместе с QSvgRenderer,

QSvgRenderer *renderer = new QSvgRenderer(QStringLiteral("example.svg"));
QGraphicsSvgItem *item = new QGraphicsSvgItem();

item->setSharedRenderer(renderer);
item->setElementId(QStringLiteral("example"));

Здесь вы даже можете найти более сложный пример этого:

Пример SVG Viewer

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]