Qt 截图 示例代码
时间: 2024-10-22 07:09:56 浏览: 17
Qt库提供了一种方便的方式来截图并保存屏幕区域。下面是一个简单的示例代码,展示了如何在Qt应用中捕获窗口内容:
```cpp
#include <QApplication>
#include <QDesktopWidget>
#include <QImage>
#include <QPainter>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 获取整个桌面作为截图区域
QRect screenRect = QApplication::desktop()->screenGeometry();
QImage screenshot(screenRect.size(), QImage::Format_RGB32);
QPainter painter(&screenshot);
// 捕获屏幕到图像
painter.drawWindow(QApplication::widgetAt(screenRect.center()), Qt::Window);
// 保存截图
QPixmap pixmap(screenshot);
pixmap.save("screenShot.png", "PNG");
return app.exec();
}
```
这个例子中,我们首先获取了桌面的几何信息,创建了一个与其大小相同的 QImage 对象。然后通过 QPainter 绘制窗口的内容到这个图像上,最后将图片转换成 QPixmap 并保存到指定路径。
阅读全文