屏幕截图在Qt-Window的一小部分

时间:2012-03-05 15:18:29

标签: qt screenshot

我希望能够获取我的程序的屏幕截图并将它们保存为png(或者如果它可以作为pdf)。我从Qt那里截取了截图示例。这将从整个显示屏截取屏幕截图。但我想从我的窗口的一部分截取屏幕截图,即使它位于显示器的另一个位置。我怎样才能做到这一点。有功能吗?

3 个答案:

答案 0 :(得分:4)

static的{​​{1}}函数grabWidget是您的朋友。您可以轻松拍摄所提供小部件的像素图,然后以您希望的任何格式保存它:

QPixmap

答案 1 :(得分:0)

答案 2 :(得分:0)

检查窗口以获取其位置和大小。如果您想在屏幕截图中看到任何特定元素,则可以获得它的位置和大小。否则,您将不得不使用窗口位置的偏移量,这可能会导致问题(例如,调整窗口大小时)。

获取屏幕截图,然后使用之前的位置/大小来压缩像素图。

有一个缺点:拍摄整个桌面的快照有点慢。

因此,更好的解决方案可能是更改应用程序:将要保存的部分渲染到屏幕外缓冲区中。然后,您可以使用此缓冲区呈现UI并同时保存屏幕截图。