【问题标题】:Qt Screenshot sharing app - How to select the area of a screenQt 截图分享应用 - 如何选择屏幕区域
【发布时间】:2014-07-02 16:01:29
【问题描述】:

我正在尝试在 Qt 中编写一个应用程序来捕获并共享屏幕截图。现在我的应用程序捕获屏幕截图,显示预览并保存它。我还没有做上传部分。但在此之前,我希望能够选择需要截取屏幕截图的屏幕区域。

我尝试搜索,但在 Qt 中找不到任何有用的文章或文档。那么有人可以帮助我吗?

PS:我们的想法是创建一个类似的应用,如 lightshot 和其他几个类似的工具。

提前致谢

【问题讨论】:

  • 据我所知,像这样的应用程序通常会先进行全屏截图,然后显示(覆盖整个屏幕),因此用户实际上看到的是整个屏幕上的Qt图像,而不是真正的桌面。然后用户可以选择图像的区域(这应该不难做到)。例如,如果您希望能够通过单击任意位置来选择完整的单个窗口,那就更困难了——这需要不同的方法。
  • 哇,这是一个很棒的小费人,谢谢。所以我必须显示没有任何边框的屏幕截图并让用户裁剪该图像,对吗?我一定会尝试并在这里回复。再次感谢。

标签: qt qt5


【解决方案1】:

您可以使用两种方法:-

1) 捕获屏幕图像,然后将其全屏显示给用户,本质上是允许用户裁剪图像。

2) 更常用的方法是创建一个没有标题栏且透明的全屏最顶层窗口。这允许用户拖出一个区域,您可以在该区域上画一个轮廓来表示用户需要的区域。

我推荐第二种方法,创建透明窗口只需更改窗口标志即可,如您所见here

【讨论】:

  • 您认为可以为这些无窗口 QLabels 添加不透明度和背景颜色吗?我正在实施第二种方法。感谢您的帮助!
  • 你能问这个问题吗?它会受到更广泛的欢迎。
  • 我在这里问过这个问题:stackoverflow.com/questions/24666152/…
猜你喜欢
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-12
相关资源
最近更新 更多