Saving widget in image
-
wrote on 25 Jul 2015, 18:49 last edited by
hello,
how can I save what's appearing on a widget's window?
i found 2 solutions for that that didn't work:-
ui->widget->grab().save("image.png");
-
QPixmap originalPixmap;
originalPixmap = QPixmap::grabWidget(tabWidget->currentWidget());
QString format = "png";
QString fileName = "myshot.png";
originalPixmap.save(fileName, format.toAscii());
I want to make a screenshot of a video that is presented in the widget.
Is there a better way to save the widget or am i doing something wrong?
Is there a way to "manually" save a part of the screen(where the widget is located)?thanks.
-
-
@Omri said:
Hi and welcome
ui->widget->grab().save("image.png");
Does work as expected here. (win 7 , Qt 5.5) for a normal control.
But If you are showing live video, it is often not working as one would expect.
You could look into exporting a frame from the video
http://stackoverflow.com/questions/30800772/how-to-grab-video-frames-in-qt
or try the
http://doc.qt.io/qt-5/qtwidgets-desktop-screenshot-example.html
and see if grabbing the whole screen, does show your video. -
wrote on 26 Jul 2015, 15:21 last edited by
Thank you.
these 2 lines of code did the job:QScreen *screen = QGuiApplication::primaryScreen(); originalPixmap = screen->grabWindow(ui->widget->winId());
1/3