新浪微博
腾讯微博
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
首页
论坛
Qt下载
作品展
群组
个人中心
捐赠、管理与开发
邮件订阅
帖子
文章
日志
用户
版块
群组
帖子
搜索
QTCN开发网
>
Qt代码秀
>
Qt5 杂谈(一)Qt5:Qt中屏幕或窗口截图功能的实现
发帖
回复
返回列表
新帖
9307
阅读
3
回复
Qt5 杂谈(一)Qt5:Qt中屏幕或窗口截图功能的实现
[复制链接]
上一主题
下一主题
离线
青春岁月
UID:106529
注册时间
2010-10-24
最后登录
2024-03-13
在线时间
429小时
发帖
295
搜Ta的帖子
精华
1
金钱
3552
威望
306
贡献值
1
好评度
296
访问TA的空间
加好友
用道具
侠客
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2014-04-01
— 本帖被 kimtaikee 从 Qt 作品展 移动到本区(2014-04-02) —
要想在Qt中实现屏幕或
窗口
截图功能 ,通常有
两种方法:
1 -- 使用
QPixmap
类
2 -- 使用 QScreen类
然而虽然俩两种方法用到的类不相同,但是调用到的类成员函数的函数名称和
参数
却是相同的
都是 grabWindow() 这个函数
所不同的是,QPixmap中的 grabWindow()函数 是静态成员
QScreen中的grabWindow()成员是非静态成员
下面展示两种截屏的方法
QPixmap方法
//
截屏并保存为 123.jpg
QPixmap::grabWindow(QApplication::desktop()->winId()).save(
"
123
"
,
"
jpg
"
);
/*
***************************************************************要注意的是 QApplication::desktop()->winId(),返回的是要截屏的窗口的ID , 设为0 表示当前桌面 ,截屏时就会截全屏*****************************************************************
*/
注:这种方法在Qt5中已经过时 , 应该使用QScreen方法代替
QScreen方法
1
//
功能同样是截屏 , 注:QScreen的构造函数是私有的
2
QScreen *screen =
QGuiApplication::primaryScreen();
3
screen->grabWindow(
0
).save(
"
123
"
,
"
jpg
"
);
共
条评分
go! go! go! go!
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
迷路
UID:150839
注册时间
2014-04-02
最后登录
2014-04-03
在线时间
1小时
发帖
1
搜Ta的帖子
精华
0
金钱
10
威望
11
贡献值
0
好评度
1
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
1楼
发表于: 2014-04-02
关于QT截屏的,我这两天也写过一个程序,不过其中的效率问题还没解决
http://blog.csdn.net/hellogdut/article/details/22595531
共
条评分
回复
举报
离线
jakes
UID:138826
注册时间
2012-11-28
最后登录
2022-11-21
在线时间
84小时
发帖
57
搜Ta的帖子
精华
0
金钱
570
威望
67
贡献值
0
好评度
57
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
2楼
发表于: 2014-04-04
楼主的代码乱乱的,虽然看得懂,但还是希望楼主多多格式化下。
共
条评分
回复
举报
离线
nongxiaoming
UID:140993
注册时间
2013-02-18
最后登录
2024-02-21
在线时间
81小时
发帖
21
搜Ta的帖子
精华
0
金钱
250
威望
31
贡献值
0
好评度
21
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
3楼
发表于: 2014-04-13
所谓的截屏就是把整个桌面保存成一张图片,然后新建一个无边框的全屏窗口,把图片做完窗口的背景,用户鼠标选定区域后把图片相应的部分截取出来,完成一次截屏。QQ截屏之类的就是这么做的,在你按下截屏后,实际上整个桌面已经变成一张静态图片全屏显示。你QQ截屏的时候,会发现QQ消息图标不会再跳动,就是这个原因。
共
条评分
回复
举报
发帖
回复
返回列表
http://www.qtcn.org/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
站务及资讯
网站公告
新闻资讯
Qt官方发布
网站管理
Qt应用及资源
Qt 作品展
Qt代码秀
Qt应用版
Qt技术讨论区
Qt安装与发布
Qt中文处理
Qt基础编程
Qt QML开发
Qt嵌入式开发
Qt移动平台开发
其它技术开发讨论区
Qt图书专区
《C++ GUI Qt 4编程》(第2版)专栏
《Qt高级编程》专栏
《零基础学Qt4编程》专栏
《Qt设计模式》(第2版) 图书专栏
Python Qt GUI快速编程
Qt项目开发区
天池项目
Qt开放平台开发库
Qt版百度云笔记
机械CAD
Qt文档计划
QTCN网站系统开发
扇贝词典
非活跃项目区
社区中心
帖子回收站(Trash)
招聘、求职、供求、广告等
休闲娱乐
关闭
关闭
选中
1
篇
全选