Часть решения будет включать использование grabWindow()
функции QPixmap
, например, так:
QPixmap::grabWindow(QApplication::desktop()->winId());
Qt имеет пример программы для этого здесь .
Остальное решение, рисование области для захвата, вероятно, может быть достигнуто либо с помощью полноэкранного прозрачного окна, чтобы визуализировать нарисованный мышью прямоугольник, а затем с помощью выделенного участка, выделенного из изображения рабочего стола, или с помощью полноэкранного окнас нарисованным на нем целым экраном.