[Interest] how render a qgraphicsscene to svg and paste it to the clipboard [SOLVED]

helferthomas at free.fr helferthomas at free.fr
Sat Sep 14 09:58:21 CEST 2013


I found a working solution. I hope this can help someone else.


      QBuffer b;
      QSvgGenerator p;
      p.setOutputDevice(&b);
      p.setSize(QSize(800,600));
      p.setViewBox(QRect(0,0,800,600));
      QPainter painter;
      painter.begin(&p);
      painter.setRenderHint(QPainter::Antialiasing);
      this->scene->render(&painter);
      painter.end();
      QMimeData * d = new QMimeData();
      d->setData("image/svg+xml",b.buffer());
      QApplication::clipboard()->setMimeData(d,QClipboard::Clipboard);

Thanks to everyone who took time to read my original post.

----- Mail original -----
De: helferthomas at free.fr
À: "Qt Interest" <interest at qt-project.org>
Envoyé: Samedi 14 Septembre 2013 08:12:20
Objet: [Interest] how render a qgraphicsscene to svg and paste it to the	clipboard

Hi,

I am using the qgraphicsview/qgraphicscene framework. I am able to write file from the drawn scene to multiple file formats, including svg using QtSvg. I want to be able to copy the scene to the clipboard. For a bitmap copy, i am using the following code:

       // Selections would also render to the file
      this->scene->clearSelection();
      // Create the image with the exact size of the shrunk scene
      QImage image(scene->sceneRect().size().toSize(), QImage::Format_ARGB32);
      image.fill(Qt::transparent);
      QPainter painter;
      painter.begin(&image);
      painter.setRenderHint(QPainter::Antialiasing);
      this->scene->render(&painter);
      painter.end();
      QApplication::clipboard()->setImage(image,QClipboard::Clipboard);

which works great. However I wonder if I can do copy the scene as svg data to the clipboard. Does anybody know how to do it ?

Thanks for any help.

Helfer Thomas
_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest



More information about the Interest mailing list