我正在尝试创建一个Qt应用程序,以从屏幕上的选定区域截取屏幕截图。目前我正在使用QRubberBand来选择屏幕区域。 它的工作原理如下。
现在我必须截取我选择的部分的屏幕截图。
我想我必须将选择QRubberBand的尺寸传递给它:
screen->grabWindow( WId window, int x = 0, int y = 0, int width = -1, int height = -1 );
那么如何从QRubberBand获取我需要的信息? 我被困在这里,所以有人请帮助我!
答案 0 :(得分:2)
在OnMouseRelease
事件中,您可以使用QRubberBand
获取geometry()
的矩形。接下来使用QRect::getRect
,您可以将矩形左上角的位置提取到x和y,将其尺寸提取到宽度和高度。 :
const QRect & selectRect = mRubberBand->geometry();
int x, y, width, height;
selectRect.getRect(&x, &y, &width, &height);