4

如何打开 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));

有任何想法吗?

4

1 回答 1

2

根据我的评论,您可以按照文档使用 QGraphicsSvgItem :

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

使用给定的父项构造一个新项目,并使用指定的文件名加载 SVG 文件的内容。

所以,你基本上会写如下内容:

 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 查看器示例

于 2014-01-13T19:56:23.590 回答