1. 关于监控画面分割界面:

首先要明白如何布局。一般监控系统的监控画面都是栅格布局,想要实现四屏,九屏,十六屏,就应该先为十六屏布局,转为九屏时,隐藏右下角的七个屏幕,再将这七个移除栅格布局。同理转为四屏时,隐藏九屏右下角5个屏幕,再将这五个移除栅格布局。

十六屏转为九屏时候,隐藏移除红色区域屏幕。

代码我以四屏转一屏为例:

从gridLayout(栅格布局)移除要隐藏的label,再将该label在窗口中隐藏不显示。

想要复原之前的四屏布局,则要在gridLayout中重新加入刚刚隐藏的label。

  1. 在监控系统中加入百度地图

首先想要访问百度地图,就要让Qt能够访问网页,访问网页就会用到html文件。Qt提供了访问网页的插件,但需要在安装Qt时勾选这两个插件。

因为html涉及到JavaScript语言,所有mingw编译环境下是不支持的,所以只能使用VS进行编译,VS版本最好为2017。所以opencv库需要编译成vs能使用的。

Qt准备了两个非常方便的类,一个是QWebEngineView(用来访问网页),一个是QWebChannel(用来实现JavaScript与Qt进行交互)

这两个类需要在工程文件里面加入

QT += webenginewidgets

QT += webchannel

如果没有上一步所安装的插件,Qt只会提示找不到这两个工程文件。

准备好以上工作,可以开始准备百度地图提供的Api接口。

首先在网页中搜索百度地图的开放平台进行AK密钥申请。网址为:https://lbsyun.baidu.com/

注意:创建的应用类型一定要选择浏览器端,百度地图还准备了白名单,防止其他网址访问盗用你的密钥。

百度地图为开发者准备了各种各样的源码,根据自己想要实现的功能选择对应的代码。将选择的代码复制下来,保存文件后缀名为.html的文件,再将该文件添加到Qt项目本地文件中。再添加到工程中。

大家会发现百度地图提供的代码中有”你的密钥“四个字,这里就是填写你之前在百度开放平台申请的AK密钥。有了密钥你才有权限访问百度地图。

有了百度地图提供的html文件,就可以使用QWebEngineView类去读取html文件。

大家也可以直接输入网址测试是否可以访问网页。

下面是对html文件的修改和注释:

这样就可以自定义图标样式,自定义放置在百度地图上面。如下图所示:

  1. 关于Qt与JavaScript的交互

想要通过百度地图中去调用Qt里面的函数就要让Qt与JavaScript实现交互。

要想让Qt与JavaScript进行交互,需要用到QWebChannel类。然后还要在html文件中加入qwebchannel.js文件。qwebchannel.js在Qt文件夹中有提供,加qwebchannel.js复制粘贴到工程文件下,再添加到html文件中去。

qwebchannel.js是Qt提供的能与JavaScript进行相互调用的js文件。有了它才可以进行交互。

在html文件中加入qwebchannel.js文件的路径。

实现交互Qt中的准备:

两者交互需要定义一个同名的对象名,调用channel->registerObject("baidumap", this);设置对象名。后续html文件中也要同名。创建交互通道setWebChannel(channel)。

Html文件中的准备:

当图标被双击是就会调用Qt中的函数,实现了在JavaScript中调用Qt中的函数,实现交互。

该函数实现就会跳出一个交互的窗口如下:

显示调用成功。因此就可以实现点击地图图标,控制打开摄像头的操作。

下面是我的视频监控系统的整体实现界面:

至此结束,感谢阅读!

基于Qt视频监控系统(百度地图,屏幕分割,双击放大,视频录制回放)下篇相关推荐

  1. 视频监控系统显示大屏幕用液晶拼接屏还是液晶监视器?

    视频监控系统与我们的日常生活息息相关,在一些大型的企业.社区物业.商场.银行等场合都会安装视频监控录像设备,以确保我们的人身.财产安全,及时发现不法分子的活动,能做到提前发现与作为后期的证据使用.视频 ...

  2. 视频监控系统由哪几部分组成?(视频监控入门基础-附思维导图)

    视频监控系统是安全技术防范工程的核心部分,也是很多弱电工程新人踏入行业中最先接触的部分.以前就经常有人咨询白哥,初入弱电行业该如何学起,我给的建议就是以视频监控系统为起点.为支点,围绕这套系统不断扩大 ...

  3. 视频监控系统 摄像头与网络存储服务器兼容,网络视频监控系统技术要点

    1 高清视频监控的主流技术 宽动态 数字宽动态并没有达到真正意义上的扩大成像动态范围的目的,而是通过软件的图像后处理算法提高了局部区域的对比度,一般由摄像机ISP模组实现.我们肉眼可辨别的灰阶范围十分 ...

  4. 视频监控系统app服务器如何设置,手机app视频监控服务器配置

    手机app视频监控服务器配置 内容精选 换一换 网站的访问与云服务器的网络配置.端口通信.防火墙配置.安全组配置等多个环节相关联.任意一个环节出现问题,都会导致网站无法访问.本节操作介绍网站无法访问时 ...

  5. 监控系统为什么要加流媒体服务器,视频监控系统为什么要使用流媒体服务器做视频分发?...

    原因解析: 1.直播视频的格式多种多样,不管是移动端还是PC端都不可能支持这么多样化格式的视频,因此流媒体服务器的首要任务就是将视频更改为统一的格式,从而解决播放器格式不统一的问题,在不改变原视频的画 ...

  6. Linux下基于qt的视频监控系统

    目录 一.原始需求 二.环境安装 2.1 qt安装 2.2 opencv安装 三.系统设计 3.1. 整体流程设计 3.2 .数据传输交互流程 3.3 .数据库设计 四.关键代码 4.1.如何实现通信 ...

  7. b s架构监控java,基于B/S的视频监控系统的设计与实现

    基于B/S的视频监控系统的设计与实现 本文分析了基于C/S架构的视频监控系统的缺点和B/S结构的诸多优点,通过需求分析,设计实现了一种以B/S为架构的视频监控系统,并针对现存视频监控系统在权限控制方面 ...

  8. 数字视频监控系统开发及应用

    前言  第1章 概述  1.1 模拟视频监控现状  1.1.1 模拟视频监控系统简介  1.1.2 模拟视频监控系统存在的问题  1.2 数字视频监控系统  1.2.1 数字视频监控系统的组成  1. ...

  9. 网络视频监控系统解决方案概述

      随着视频监控方案的应用普及,视频监控已经与人们的生活越来越密切,而随着网络技术的发展,网络视频监控系统应用已经成为一种趋势.尤其是互联网.电视技术.通信技术开始融合以后,基于互联网平台的视频监控网 ...

  10. 视频监控系统及系统各节点设备理解和监控系统发展简介

    从这几个层面理解视频监控系统中的设备:作用.分类.软件功能.组成部件.搭配使用(上一节点.下一节点.配合设备),本文从底层向上层介绍. 整个视频监控系统分为前端视频采集设备.中端传输处理设备.后端显示 ...

最新文章

  1. 安卓开源项目周报0411
  2. 为了我心中的女神,我竟然转行做了程序员
  3. 基于wayland的linux桌面,揭开Wayland的面纱(二):Wayland应运而生
  4. postgresSQL 实现数据修改后,自动更新updated_date/ts等字段
  5. LNMP架构之环境搭建
  6. 多组测试数据(求和)IV
  7. 日常生活小技巧 --惠普战66三代 重装系统
  8. whitelabel error page什么意思_什么是RESTful API?总算能说清楚了
  9. 2019.03.20 mvt,Django分页
  10. linux shell 读取文件脚本
  11. 老公年收入百万,却不愿拿出二十万帮我弟弟买房子,我该离婚吗?
  12. bzoj 2431: [HAOI2009]逆序对数列
  13. VS2010启动总是遇到异常提示的解决
  14. “win+PrtSc”图片没有保存到图片文件夹中的问题
  15. 如何下载可爱随意字体KISS ME
  16. 无法解析 taglibs:standard:1.1.2
  17. 【原创】QT5-卸载精灵v1.0-卸载windows软件-简易版
  18. java js 非对称加密算法_Java加密技术(四)——非对称加密算法RSA
  19. java 微信文章评论点赞_微信文章留言评论刷赞怎么弄?如何给微信文章
  20. ADB——查看手机设备信息

热门文章

  1. Apollo自动加载热更新
  2. 全平台通用中文字体设置 font-family css 2019
  3. Jenkins+Pipeline流水线+Docker实现自动化CI/CD发布Java项目
  4. 餐饮油烟排放监测管理系统的设计与应用
  5. 反欺诈子研究-特征衍生过程
  6. 余额宝收益太低怎么办?
  7. 虫虫英文资源抓取规则分享
  8. _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II
  9. Vue - 全局组件之间传值(中间件传值)
  10. 用工厂流水线的方式来理解RxJava的概念