Search code examples
qtscreenshot

Screenshot in a small part of Qt-Window


I would like to be able to take screenshots of my program and save them as png (or if it is possible as pdf). I have taken the screenshot-example from Qt. This takes a screenshot from the whole display. But I would like to take a screenshot from only a part of my window, even if it is in another postion of the display. How can I do that. Is there a function?


Solution

  • The static function grabWidget of QPixmap is your friend. You can easily take a pixmap of the provided widget and then save it in any format you desire:

    QPixmap p = QPixmap::grabWidget(widget);
    p.save("p.png");