截屏功能就是将截屏时刻的屏幕画面保存为图片。所以截屏的关键就在于如何获取屏幕的内容,幸运的是Qt为我们提供了这样的接口。它就是QScreen类的grabWindow函数。函数声明如图:

函数返回的就是图片,参数是窗口ID和要截取的区域(x、y、width和height组成的矩形区域)。窗口ID可以通过QWidget的winId()获得,若截取整个屏幕窗口ID传入0。测试代码:

QApplication::primaryScreen()用于获取电脑的当前设置的主屏幕,x、y、width和height使用默认值,表示获取整个屏幕。获取屏幕图片后使用label显示出来,label设置为无边框(Qt::FramelessWindowHint),大小和屏幕一样大。

程序运行后点击截屏按钮后好像电脑死机一样,点击屏幕所有地方都没有反应,那是因为用来显示截屏图片的label将整个窗口都覆盖住了。获得整个屏幕的图片之后想要实现自定义区域截图就简单了,只需要通过窗口的鼠标移动事件来获取截图区域,然后用QPixmap的copy函数复制屏幕图片的区域即可,有兴趣的可以试一试。

测试环境:Qt5.9.6

qt chart 如何使网格填满整个窗口_Qt实现截屏的关键函数相关推荐

  1. Canvas填满浏览器窗口操作(九)

    首先如何画一个铺满浏览器的canvas,有人会想这样 context.fillRect(0,0,100%,100%);然而很不幸,这是无效的! 那怎么来呢??使用以下函数,在加上上一篇已经说了canv ...

  2. SwiftUI--取消安全区限制,使视图填满屏幕

    import SwiftUIstruct SwiftUIView: View {var body: some View {//不可以用frame的另一个方法不然不生效Text(/*@START_MEN ...

  3. 如何填满word页面_Word应用分隔符的使用

    同学们大家好,今天我们来学习分隔符的用法,在文档中插入分隔符,可以把Word文档分成多个部分,这样十分利于排版,这个功能在文档的编辑与排版上面应用非常的广泛.下面我们来看一下分隔符的位置和用法. 分隔 ...

  4. java我的世界填充方块,【我的世界手游如何快速填充方块】我的世界MC中如何快速填满一个平面的方块...

    广告 我的世界MC中如何快速填满一个平面的方块 批量放置方块,最好下载创世神mod 1.8及以上版本可以使用/fill指令大范围填充方块 我想问问在我的世界手机版(网易版)哪个填充方块指令怎么用,我会 ...

  5. Qt TableView数据列宽度自适应, 横向填满表格

    Qt开发,读取数据库数据,用TableView展示,发现字段少的时候,右边空出一大块,影响外观. 怎样让各列宽度自适应,填满表格区域呢? 网上找到了答案: https://stackoverflow. ...

  6. html怎么使图片自动填充,CSS怎么将img图片填满父容器div自适应容器大小

    CSS怎么将img图片填满父容器div自适应容器大小 发布时间:2021-03-19 09:35:26 来源:亿速云 阅读:114 作者:小新 这篇文章将为大家详细讲解有关CSS怎么将img图片填满父 ...

  7. css高度自动填满_Unity--自动版面(Grid Layout Group)

    Grid Layout Group 网格布局组组件将其子布局元素放置在网格中. Padding:(填充) 布局组边缘内的填充.与其他布局组不同,"网格布局组"将忽略其所包含布局元素 ...

  8. Qt-使用border image填满背景

    什么是border image? A border image is an image that is composed of nine parts (top left, top center, to ...

  9. html5 css背景图片满,css background-size与背景图片填满div

    back和第,.年过事工宗据指数遍互业经搞断果会ground-size与背景图片抖要支圈者器说是事天开的.年后编定功口小发还应久剑填满div 在开发中,常分博累发口小定逻间框加题览果些屏洁动理应有需要 ...

最新文章

  1. 64位Ubuntu上编译32位程序
  2. cytoscape---插件clueGO的使用
  3. B+树索引和哈希索引的区别——我在想全文搜索引擎为啥不用hash索引而非得使用B+呢?...
  4. 蚂蚁金服 Service Mesh 实践探索
  5. 1349 - View's SELECT contains a subquery in the FROM clause
  6. azkaban修改MySQL配置上传包的大小上限
  7. 高考成绩查询接口(转)
  8. 工作是老板的,生命是自己的。
  9. jQuery对Ajax的封装应用(三)
  10. 受Struts2漏洞影响 思科正审查其主要产品安全性 CVE-2017-9805已有主动攻击
  11. XE4 TStringDynArray 比 c6 的TStringList 好用 字符串 分解 分割 转换 TByteDynArray
  12. iOS开发中设置UITextField的占位文字的颜色,和光标的颜色
  13. ubuntu离线安装fish
  14. Java速成课程建议
  15. 客房预订管理系统(一)
  16. excel信息表怎么转换成word形式?在线免费转换2步完成
  17. new 与 delete 操作符
  18. java毕业设计车辆违规信息管理系统Mybatis+系统+数据库+调试部署
  19. IDEA配置优化,idea配置大全
  20. android 的Zygote 分析

热门文章

  1. 转型中的知不知、能不能、愿不愿
  2. Roger Ver:BCH也可成为价值储备,前提是它被用起来
  3. 比特币现金社区推出OP_RETURN的4字节前缀指南
  4. [python]_ELVE_pip2和pip3如何共存
  5. 如何才能正确的关闭Socket连接
  6. laravel 重写以及500错误
  7. TensorFlow的基础概念03
  8. SD-WAN的四大错误观念
  9. Maven学习 使用Nexus搭建Maven私服(转)
  10. 《Adobe Flash CS4中文版经典教程》——1.7 使用“工具”面板