Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Qt官方示例-屏幕截图

Qt官方示例-屏幕截图

作者头像
Qt君
发布于 2020-07-07 02:50:25
发布于 2020-07-07 02:50:25
2.2K00
代码可运行
举报
文章被收录于专栏:跟Qt君学编程跟Qt君学编程
运行总次数:0
代码可运行

该示例显示了如何对桌面进行屏幕截图。

屏幕截图实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void Screenshot::shootScreen()
{
    /* 获取主屏幕 */
    QScreen *screen = QGuiApplication::primaryScreen();
    if (const QWindow *window = windowHandle())
        screen = window->screen();
    ...

    if (delaySpinBox->value() != 0)
        QApplication::beep(); /* 让电脑哔一声 */

    /* 获取屏幕内容(QPixmap) */
    originalPixmap = screen->grabWindow(0);
    ...
}

保存截图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (!originalPixmap.save(fileName)) {
    QMessageBox::warning(this, tr("Save Error"), tr("The image could not be saved to \"%1\".")
                         .arg(QDir::toNativeSeparators(fileName)));
}

关于更多

  • QtCreator软件可以找到:
  • 或在以下Qt安装目录找到:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\desktop\screenshot
  • 相关链接

https://doc.qt.io/qt-5/qtwidgets-desktop-screenshot-example.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Qt简单屏幕截图(兼容Qt4/5)
Qt4使用 QPixmap::grabWindow接口获取指定屏幕; Qt5使用QScreen 的grabWindow接口获取指定屏幕; QApplication::desktop()获取根窗口; QUuid::createUuid()产生唯一ID; pixmap.save(name)保存截图到本地. main.cpp #include <QApplication> #include <QDesktopWidget> #include <QScreen> #include <QPixmap> #includ
Qt君
2019/07/15
2.5K0
Qt截图软件3-实现矩形区域截图
首先我们先获取到当前桌面的完整图片,然后将其放到一个全屏的透明窗口之中,之后,我们在窗口上进行绘制矩形操作,然后获取到绘制的区域即可。
kdyonly
2023/03/03
1.3K0
Qt开源作品31-屏幕截图控件
屏幕截图控件在我的很多项目中都有用到,尤其是嵌入式的系统上的软件,因为在嵌入式系统中,基本上系统都很精简,甚至连UI都没有,开机之后直接运行的就是Qt程序,很多时候需要对软件进行截图保存下来,用来编写文档和介绍,还有产品彩页之类的,毕竟在板子上直接运行的效果是最好的,还有一种办法是将系统编译成win的版本,用系统的截图来,但是嵌入式上很多代码其实很不方便在win上运行,甚至没法运行,而且还要外接很多接口来得到真正的运行效果,所以还是采用直接在板子上的Qt程序中直接集成截图的功能,需要的时候直接鼠标右键弹出来选择即可。
feiyangqingyun
2020/06/09
1K0
Qt开源作品31-屏幕截图控件
Qt快捷屏幕截图
介绍两种Qt屏幕截图的方法。 方法1 接口: QPixmap QScreen::grabWindow(WId window, int x = 0, int y = 0, int width = -1, int height = -1) 示例: QScreen *screen =
Qt君
2019/07/22
1.9K0
Qt官方示例-MDI(多文档界面)
  多文档界面例子主要使用了QMdiArea类实现。下面是介绍QMdiArea的使用。
Qt君
2023/03/17
1.9K0
Qt官方示例-MDI(多文档界面)
Qt截图软件2-实现截全屏功能
创建新项目,选择Qt Widgets Application桌面应用程序,选择之后,填写项目名称,根据默认选项走下一步到创建完成即可。 主界面设计,如图所示,可按照自己的想法进行可视化设计,增加Push Button,可以为按钮添加图标,首先我们可以增加资源文件,然后把图标全部放进资源文件中,如图所示,为按钮添加图标即可。 界面设计完成之后,我们可以对按钮添加功能代码,鼠标右键→转到槽→clicked(),这样我们就可以为按钮添加点击事件了。
kdyonly
2023/03/03
4740
Qt官方示例-数字时钟
DigitalClock继承于QLCDNumber,并实现一个槽函数showTime()用来定时更新时钟显示:
Qt君
2019/12/16
1.4K0
Qt官方示例-计算器
该示例显示了如何使用信号和槽来实现计算器小部件的功能,以及如何使用QGridLayout将子小部件放置在网格中。 通过绑定不同的按钮和不同的槽函数实现计算功能。 private slots:
Qt君
2019/11/24
5920
PyQt5 截取屏幕
本篇介绍如何用 PyQt5 截屏。 下面两行是PyQt 截屏的关键代码: screen= QtWidgets.QApplication.primaryScreen()#PyQt5 screen.gra
用户6021899
2019/08/14
4.5K0
Qt官方示例-缓和曲线
❝该示例演示如何使用「缓和曲线」来控制动画的速度。❞ 关于更多 在「QtCreator软件」可以找到: 或在 以下「Qt安装目录」找到: C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\animation\easing 「相关链接」 https://doc.qt.io/qt-5/qtwidgets-animation-easing-example.html
Qt君
2023/03/17
2310
Qt官方示例-缓和曲线
Qt开源作品23-颜色拾取器
在做很多项目的UI界面的时候,相信绝大部分人都有过抄袭别人的UI界面尤其是颜色的时候,毕竟十个程序员九个没有审美,或者说审美跟一坨屎一样,大家主要的精力以及擅长点都是在写功能实现具体功能上面,这个事情怎么说呢,这确实是程序员的主要职责,但是在大部分的小公司,UI也都是需要程序员自己去搞定的,自己想不出来怎么办,借鉴咯,不知道颜色值怎么办,用颜色拾取器点一下咯。
feiyangqingyun
2020/05/29
6990
Qt开源作品23-颜色拾取器
Qt官方示例-目录视图
声明model为用于读取本地文件系统的数据模型。model.setRootPath("")将当前文件夹设置为将从其model开始读取的文件夹。QTreeView对象tree以树结构的可视化文件系统。
Qt君
2020/02/13
9580
Qt官方示例-目录视图
Qt官方示例-样式表
  样式表示例显示了如何使用Qt样式表设置窗口小部件的样式。您可以通过选择"File" >"Edit Style"来打开样式编辑器,以选择现有样式表或设计自己的样式并加载它。
Qt君
2020/07/21
1.8K0
Qt官方示例-样式表
Qt官方示例-字体采样器
❝预览系列字体的例子。❞   建立字体树显示。 QFontDatabase database; fontTree->setColumnCount(1); fontTree->setHeaderLabels(QStringList() << tr("Font")); foreach (QString family, database.families()) { const QStringList styles = database.styles(family); if (styles.i
Qt君
2023/03/17
4370
Qt官方示例-字体采样器
Qt官方示例-系统托盘
❝该示例演示如何将带有菜单的图标和弹出消息添加到桌面环境的系统托盘。 ❞   总结该示例的一些使用方法如下: 0x01 创建并显示一个系统托盘 #include <QSystemTrayIcon> Q
Qt君
2020/05/25
2.7K0
Qt官方示例-系统托盘
Qt官方示例-共享内存
  构建示例,请运行make。要运行该示例,请运行两个实例。main()函数创建一个应用程序和我们示例的Dialog类的实例。显示对话框,然后将控制以标准方式传递给应用程序。
Qt君
2023/03/17
1.3K0
Qt官方示例-共享内存
Qt开源作品11-屏幕录制控件
在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基本上都支持gif动图,一般一个5秒左右的gif,800*600分辨率,可以很好的控制在500KB内,这样就比较完美的支持各大网站上传动图。
feiyangqingyun
2020/05/16
1.1K0
Qt开源作品11-屏幕录制控件
Qt音视频开发49-通用截图截屏
采用了回调方式的视频通道,截图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_take_snapshot传入保存路径即可,mpv的内核执行screenshot-to-file命令传入路径参数即可,而ffmpeg就需要设置抓拍标志位,在实时采集解析那边,如果当前是截图标志位真,则需要改成QImage转换的机制发出图片,而不是yuv的数据opengl绘制,海康的sdk调用NET_DVR_CapturePicture函数即可。
feiyangqingyun
2020/11/24
1.7K0
Qt音视频开发49-通用截图截屏
QT软件开发: 截取全屏、指定位置、当前窗口保存图片
一、环境介绍 QT : 5.12.6 操作系统: win10 x64 编译器: MinGW32 二、示例代码 头文件 #include <QScreen> #include <QTimer> connect(&timer, SIGNAL(timeout()), this, SLOT(update())); timer.start(50); 2.1 截取全屏保存为图片 void Form::update() { static int cnt=0; QScreen *screen = QGuiA
DS小龙哥
2022/01/12
1.9K0
QT软件开发: 截取全屏、指定位置、当前窗口保存图片
Qt官方示例-菜单栏
本例子介绍如何在应用程序中使用菜单栏。 创建一个菜单栏 QMenu *menu = new QMenu(this); 添加一个菜单项目(Edit) editMenu = menuBar()->add
Qt君
2020/07/29
1.4K0
Qt官方示例-菜单栏
相关推荐
Qt简单屏幕截图(兼容Qt4/5)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验