QT开发中文网

Qt 使用QScreen 截屏

以下是使用QScreen进行截屏的示例代码:

#include <QtWidgets/QApplication>
#include <QtGui/QScreen>
#include <QtGui/QPixmap>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    
    // 获取所有屏幕
    QList<QScreen*> screens = QGuiApplication::screens();
    
    // 截取第一个屏幕
    QScreen* screen = screens.at(0);
    QPixmap screenshot = screen->grabWindow(0);
    
    // 保存截图到文件
    QString filename = "screenshot.png";
    screenshot.save(filename);
    
    return a.exec();
}

该示例代码中,首先使用QGuiApplication::screens()函数获取所有可用的屏幕,并从中选择第一个屏幕。然后使用QScreen::grabWindow()函数对整个屏幕进行截取,并将结果保存为一个QPixmap对象。最后,使用QPixmap::save()函数将截图保存到指定的文件中。

需要注意的是,在某些操作系统上,可能需要为应用程序授权才能进行屏幕截取操作。例如,在macOS上,需要在应用程序的Info.plist文件中添加NSAppleEventsUsageDescription键以获得授权。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=768

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?