gpt4 book ai didi

c++ - 从Qt上的选定区域(QRubberBand)截图

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:10:02 25 4
gpt4 key购买 nike

我正在尝试创建一个 Qt 应用程序以从屏幕上的选定区域截取屏幕截图。现在我正在使用 QRubberBand 来选择屏幕区域。它是这样工作的。

  1. 当点击捕获按钮时,一个覆盖透明的小部件将弹出(全屏但没有框架)
  2. 我正在使用 QRubberBand 在透明小部件上选择一个区域。

现在我必须对我选择的部分进行截图。

我想我必须将选择 QRubberBand 得到的尺寸传递给这个:

screen->grabWindow(WId window, int x = 0, int y = 0, int width = -1, int height = -1);

那么我如何从 QRubberBand 获得我需要的信息呢?我被困在这里,所以有人请帮助我!

最佳答案

在您的OnMouseRelease 事件中,您可以使用geometry() 获取QRubberBand 的矩形。接下来使用 QRect::getRect,您可以将矩形左上角的位置提取到 x 和 y,并将其尺寸提取到宽度和高度。 :

const QRect & selectRect = mRubberBand->geometry();
int x, y, width, height;
selectRect.getRect(&x, &y, &width, &height);

关于c++ - 从Qt上的选定区域(QRubberBand)截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com