How to Take Screenshots Using Qt

Qt allows you to easily grab an screenshot and save it using grabWindow function implemented in QScreen. Here is how you can use it:

First of all decide on which part of the size and location of the screenshot you want to take. This means you have to create a QRect which has left, right, width and height values. Like this:

QRect crop_rect(x, y, w, h);


Next you can call grabWindow by providing this crop_rect to it to take an screenshot of any part of the screen.

QImage desk = qApp->screens().at(0)->grabWindow(
	QDesktopWidget().winId(),
	crop_rect.left(),
	crop_rect.top(),
	crop_rect.width(),
	crop_rect.height()).toImage());

Please note that you can take an screenshot of the whole screen like this:

QImage desk = qApp->screens().at(0)->grabWindow(
	QDesktopWidget().winId());


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.