前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Qt截图软件2-实现截全屏功能

Qt截图软件2-实现截全屏功能

作者头像
kdyonly
发布2023-03-03 19:37:57
4110
发布2023-03-03 19:37:57
举报
文章被收录于专栏:个人编程笔记个人编程笔记

浏览量 1

创建新项目,选择Qt Widgets Application桌面应用程序,选择之后,填写项目名称,根据默认选项走下一步到创建完成即可。 主界面设计,如图所示,可按照自己的想法进行可视化设计,增加Push Button,可以为按钮添加图标,首先我们可以增加资源文件,然后把图标全部放进资源文件中,如图所示,为按钮添加图标即可。 界面设计完成之后,我们可以对按钮添加功能代码,鼠标右键→转到槽→clicked(),这样我们就可以为按钮添加点击事件了。

添加截全图的代码,主要依赖于Qt提供的函数QGuiApplication::primaryScreen() 我们就能获取到全屏窗口的截图,然后保存图片,那么截全图的功能就完成了。

代码语言:javascript
复制
void MainWindow::on_pb_fullscreenshot_clicked()
{
    hide();
    if(MainWindow::isHidden()){
        QThread::msleep(800);
        QScreen *screen =QGuiApplication::primaryScreen();
        if(const QWindow *window=windowHandle())
            screen=window->screen();
        if(!screen)
            return ;
	    //0可以表示获取到全屏窗口的截图
        originalPixmap=screen->grabWindow(0);

        QDateTime current_date_time =QDateTime::currentDateTime();
        QString current_date =current_date_time.toString("yyyy-MM-dd-hhmmss");
        QString filename=current_date+".jpg";
        originalPixmap.save(filename,"jpg");
        //MainWindow::show();
        show();
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档