- 博客(28)
- 资源 (193)
- 论坛 (11)
- 收藏
- 关注
原创 Qt编写安防视频监控系统22-摄像机搜索
一、前言摄像机搜索模块是后面新增加的,这个模块很有必要,一开始做视频监控系统的时候,那时候还没有研究出来一套纯Qt底层通信的onvif类,也就前几个月搞出来了,支持搜索设备信息和云台控制,所以马上加到了监控系统中,大部分的监控系统都支持两种搜索,一种是自家私有协议即SDK的方式搜索设备,只能搜索到自家的设备,另外一种就是用国际标准协议onvif,这个协议对于市面上大部分的网络摄像机都支持的,我买...
2019-12-30 14:44:30
600
原创 Qt编写安防视频监控系统21-摄像机管理
一、前言摄像机管理在整个系统中是数据库部分最核心的,只有添加了摄像机信息,才能进行加载,生成树状列表等,摄像机表信息的字段内容改过好几次,有可能后期还需要修改,目前摄像机表信息主要包括摄像机编号、摄像机名称、所属录像机、厂家、设备地址、媒体地址、云台地址、主码流地址、子码流地址、经纬度、背景地图、X坐标、Y坐标、用户姓名、用户密码、启用状态、安装位置。其中设备地址、媒体地址、云台地址、主码流地址...
2019-12-29 14:52:47
553
原创 Qt编写安防视频监控系统20-录像机管理
一、前言录像机管理模块,在本系统中除了用来存储NVR信息以外,方便生成对应的摄像机树状列表,目前没有其他用处,一个考虑是为了方便后期拓展,比如改成SDK内核加载视频流和回放视频等,甚至还需要做一些人脸识别之类的处理,这个就需要提供原始的NVR信息了,录像机信息主要包括名称、类型(厂家,后期用来决定区分采用何种协议)、IP地址、用户姓名、用户密码、启用状态、安装位置,其中用户信息用来登录NVR验证...
2019-12-26 08:40:35
581
原创 Qt编写安防视频监控系统19-日志查询
一、前言日志查询功能是基础功能,主要分两块,一个是本地日志查询,包括运行日志、报警日志、操作日志;一个是设备日志查询,就是通过SDK去拉去NVR设备的日志信息,包括系统操作、配置操作、报警操作、录像操作、文件操作、远程操作、其他操作等,这些日志信息都是存储在NVR设备上的,根据查询的请求逐一返回日志信息到客户端显示。本地日志查询一般是绑定数据库表,然后设定查询的条件,然后select结果即可,采...
2019-12-25 09:05:13
620
原创 Qt编写安防视频监控系统18-云台控制
一、前言云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂家使用自家SDK控制云台,但是大部分都会选择onvif来控制,毕竟是国际标准的通用的,只要符合这个标准的都可以使用,onvif协议的解析通常用的开源库是soap,涵盖的内容比较全,包括获取各种设备信息...
2019-12-22 13:10:41
885
原创 Qt编写安防视频监控系统17-在线地图
一、前言在线地图模块在一开始设计整个系统的时候就考虑进去了,主要功能就是在摄像机管理中,提供经纬度信息,然后加载百度地图在浏览器中显示,根据摄像机信息表中的每个摄像机的经纬度信息,自动生成设备点在地图中,地图是在线的,支持鼠标拖动、滚动缩放等,设备的信息通过一开始写入到html文件中加载的,也可以做成js交互,Qt封装了浏览器控件,在Qt5.6以前是webkit,5.6以后改成了webengin...
2019-12-20 09:04:06
737
原创 Qt编写安防视频监控系统16-设备播放
一、前言设备播放模块是后面增加的,核心就是通过组合rtsp视频流地址来播放实时视频和历史视频,目前市面上很多厂家比如排第一的海康都是支持直接rtsp通过NVR来播放某个通道视频流和回放某个通道的视频流,这些格式在网上都可以搜索到的,每个厂家的第一可能有点不一样,但是大致的信息都一样,比如要播放实时视频流,需要提供的信息有用户名、密码、NVR地址、对应的通道、码流类型(主码流/子码流),如果要播放...
2019-12-19 09:53:57
729
原创 Qt编写安防视频监控系统15-远程回放
一、前言远程回放有两种处理方式,一种是采用NVR厂家提供的SDK开发包来登录到NVR上,然后根据SDK的函数接口指定的视频文件,当然也有接口查询视频文件列表等;一种是采用视频监控行业的国标GB28181协议,来注册到NVR上然后查询和播放视频文件。两种处理方式各有优缺点,用SDK的话,接口比较丰富,有很多特殊的处理都在SDK的函数中可以看到,相对来说速度和清晰度会更快一点,操作的友好性高,毕竟是...
2019-12-18 08:58:11
562
原创 Qt开发经验小技巧81-90
Qt中的QColor对颜色封装的很完美,支持各种转换,比如rgb、hsb、cmy、hsl,对应的是toRgb、toHsv、toCmyk、toHsl,还支持透明度设置,颜色值还能转成16进制格式显示。QColor color(255, 0, 0, 100);qDebug() << color.name() << color.name(QColor::HexArgb);...
2019-12-17 21:01:46
538
2
原创 Qt开发经验小技巧71-80
在我们使用QList、QStringList、QByteArray等链表或者数组的过程中,如果只需要取值,而不是赋值,强烈建议使用 at() 取值而不是 [] 操作符,在官方书籍《C++ GUI Qt 4编程(第二版)》的书中有特别的强调说明,此教材的原作者据说是Qt开发的核心人员编写的,所以还是比较权威,至于使用 at() 与使用 [] 操作符速度效率的比较,网上也有网友做过此类对比。原文在...
2019-12-17 21:00:44
453
原创 Qt开发经验小技巧61-70
很多人问Qt嵌入式平台用哪个好,这里统一回答(当前时间节点2018年):imx6+335x比较稳定,性能高就用RK3288 RK3399,便宜的话就用全志H3,玩一玩可以用树莓派香橙派。对于大段的注释代码,建议用 #if 0 #endif 将代码块包含起来,而不是将该段代码选中然后全部 // ,下次要打开这段代码的话,又需要重新选中一次取消,如果采用的是 #if 0则只要把0改成1即可,...
2019-12-17 20:59:22
359
原创 Qt开发经验小技巧51-60
在某些http post数据的时候,如果采用的是&字符串连接的数据发送,中文解析乱码的话,需要将中文进行URL转码。QString content = "测试中文";QString note = content.toUtf8().toPercentEncoding();Qt默认不支持大资源文件,比如添加了字体文件,需要pro文件开启。CONFIG += resources...
2019-12-17 20:54:02
241
原创 Qt开发经验小技巧41-50
如果使用sqlite数据库不想产生数据库文件,可以创建内存数据库。QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName(":memory:");清空数据表并重置自增ID,sql = truncate table table_name。Qtchart模块从Qt5.7开始自带,最低编译要...
2019-12-17 20:52:44
280
原创 Qt开发经验小技巧31-40
代码判断MSVC编译器版本。if (_MSC_VER == 1800)MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)MSVC++ 10.0...
2019-12-17 20:51:33
337
原创 Qt开发经验小技巧21-30
如果出现Z-order assignment: is not a valid widget.错误提示,用记事本打开对应的ui文件,找到为空的地方,删除即可。善于利用QComboBox的addItem的第二个参数设置用户数据,可以实现很多效果,使用itemData取出来。如果用了webengine模块,发布程序的时候带上QtWebEngineProcess.exe+translati...
2019-12-17 20:49:13
344
原创 Qt开发经验小技巧11-20
获取类的属性const QMetaObject *metaobject = object->metaObject();int count = metaobject->propertyCount();for (int i = 0; i < count; ++i) { QMetaProperty metaproperty = metaobject->prope...
2019-12-17 20:46:18
403
原创 Qt开发经验小技巧1-10
当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。定时器是个好东西,学会好使用它,有时候用QTimer::singleShot可以解决意想不到的问题。打开creator,在构建套件的环境中增加MAKEFLAGS=-j8,可以不用每次设置多线程编译。珍爱时间和生命。新版的QtCreato...
2019-12-17 09:47:57
656
原创 Qt编写安防视频监控系统14-本地回放
一、前言在上一篇文章将视频文件存储好了,需要提供界面方便用户查询视频文件进行回放,其实这个回放就是播放历史存储的视频文件,并不是什么高大上的东西,视频回放在这个系统中分三种,第一种是本地回放,回放存储在客户端本地的视频文件;第二种是远程回放,采用NVR厂家提供的SDK开发包或者国标GB28181协议来回放存储在NVR上的视频文件;第三种是设备回放(统一放在设备播放模块),通过rtsp的格式来回放...
2019-12-17 09:17:16
434
原创 Qt编写安防视频监控系统13-视频存储
一、前言一般视频监控行业都会选择把视频存储在本地NVR或者服务器上,而不是存储在客户端电脑,只有当用户经费预算有限的时候,或者用户特殊需求要求存储在本地客户端电脑的时候才会开启存储到本地,正常来说视频存储需要专用的硬盘来存储比较好,一个是安全性,更重要的是容量大,一般NVR可以外接8块硬盘,每个4T,一起就是32T,这个对于普通的电脑来说肯定是比不了的,尤其是现在高清视频阶段了,需要存储的视频清...
2019-12-16 14:48:34
738
原创 Qt编写图片及视频TCP/UDP网络传输
一、前言很多年前就做过类似的项目,无非就是将本地的图片上传到服务器,就这么简单,其实用http的post上传比较简单容易,无需自定义协议,直接设置好二进制数据即可,而采用TCP或者UDP通信的话,必须自定义协议,因为不知道什么时候数据接收完了是完整的图片数据,可能同时在发送很多图片数据,而且还不能区分收到的图片是哪个客户端发来的,TCP长连接的话,还需要有心跳来检测连接,所以必须自定义一套协议来...
2019-12-14 23:38:15
636
原创 Qt编写气体安全管理系统29-跨平台
一、前言Qt的跨平台特性是非常厉害的,本来作为C++来说,跨平台的特性比JAVA还要好,只不过学习难度更大,所以大家更理解的跨平台是JAVA,Qt的跨平台特性是我见过的所有开发环境和语言中最厉害的,据说现在还能跑在部分MCU单片机上,本来Qt的发家起步就是在linux系统上,嵌入式linux上应用比较多,只不过最近十年来,由于安卓的迅猛发展,逐步被蚕食了一些市场,还剩一些跑安卓卡爆了的配置很低的...
2019-12-11 10:15:12
759
原创 Qt编写气体安全管理系统28-模拟工具
一、前言模拟工具在一些涉及到硬件通信的程序中特别有用,也特别需要,回顾这十年来做过的项目,95%的项目都是软硬件交互的,貌似软硬件结合的项目更有生命力一些,纯软件的或者纯硬件的,并没有那么好控制,如果是软硬件结合的,就算硬件不挣钱,还可以通过控制软件部分和服务来挣钱,而如果软件免费的话,那就必须买硬件,必须跑在这个硬件上才能最好的发挥软件效果,这样软件免费靠硬件挣钱的例子,也不少,这些年接触过形...
2019-12-07 13:32:19
357
原创 Qt编写气体安全管理系统27-设备调试
一、前言设备调试核心就是将整个系统中的所有打印数据统一显示到一个模块上,一般都会将硬件通信的收发数据和对应的解析信号发出来或者qdebug出来,这个在调试阶段非常有用,可以具体追踪问题出在哪,哪个数据解析不对直接定位过去,这个模块直接留出界面进行打印查看等,可以在各种现场捕捉异常情况,让现场工程师将调试的数据保存好发给开发人员即可,帮助分析问题,因为很多时候是家里公司测试的好好的,到了现场各种千...
2019-12-06 12:46:16
325
原创 Qt编写气体安全管理系统26-组态设计
一、前言组态设计是应一个客户要求新增加进去的,设计理念就是在提供一个组态设计的初级功能,比如读取自定义控件动态库,加载所有的控件放到控件栏(有点类似qtcreator的控件栏)用户拖曳对应的控件到画布上,自动生成控件,控件可以直接在画布上拉伸大小和拖动调整位置,设置一些控件本身的属性,比如各种颜色,同时还提供用户属性设置功能,用户可以自定义很多属性绑定在这个控件上,一般来说一个控件会定义一些Q_...
2019-12-05 09:38:33
531
原创 Qt编写气体安全管理系统25-位置调整
一、前言位置调整功能,以前是直接写在设备按钮这个自定义控件类中,核心就是安装事件过滤器,识别鼠标按下、鼠标移动、鼠标松开,这三个event,做出相应的处理即可,后面发现这个功能其实很多自定义控件或者widget都会使用到,需要在一个容器中拖动指定的控件,索性单独提取出来一个类专门干这个事情,后面发出开源代码。位置调整也叫设备拖动,一般是要在设计阶段时候,运行阶段是禁用的,不然在运行阶段让操作员...
2019-12-04 09:26:56
278
原创 Qt编写气体安全管理系统24-地图管理
一、前言地图管理的主要功能是将系统中的地图文件做添加和删除,支持常见的jpg、png、bmp等格式图片,图片分辨率建议小于1080P,最好是和目标客户端电脑分辨率一致,这样在拉伸缩放的时候会比较清晰。图片建议使用鸟瞰图,有3D立体感,类似于那些卖房子售楼部的3D模型,不懂的人还以为是什么高级的技术呢,其实就是一张图片。在做很多需要地图模块的系统的过程中,总结出了几个经验,如下:第一个是如何快速...
2019-12-03 08:59:27
486
原创 Qt编写气体安全管理系统23-类型设置
一、前言类型设置这个功能模块大大拓展了整个系统的灵活性,将整个系统中所有用到的控制器型号、探测器数量、探测器型号、气体种类、气体符号都存储到数据库表中,用户在类型设置中可以自由添加删除和修改,这样后期如果增加了某个控制器、探测器等,自己添加进去即可,在控制器管理、探测器管理中对应字段的下拉框选择即可,最开始系统设计的时候没有考虑这么多,后面用户那边不断增加不同类型的设备,导致代码改来改去,极其不...
2019-12-02 09:25:46
388
原创 Qt编写数据可视化大屏界面电子看板13-基础版
一、前言之前发布的Qt编写的可视化大屏电子看板系统,很多开发者比较感兴趣,也收到了很多反馈意见,纵观市面上的大屏系统,基本上都是B/S结构的web版本,需要在后台进行自定义配置模块,绑定数据源等,其中比较有名的就是阿里云的DataV和百度的Sugar,都是很不错的,DataV是阿里云出品的专业大屏数据可视化服务,旨在让更多的人看到数据可视化的魅力,帮助非专业的工程师通过图形化的界面轻松搭建专业水...
2019-12-01 12:54:40
1312
QT编写的简易安防视频监控系统
2014-07-19
Qt实现的FlatUI样式
2016-12-11
QT编写的串口设备调试工具终极版
2013-12-20
QT自定义精美换肤界面
2014-08-15
Qt编写网络调试助手(TCP客户端+TCP服务端+UDP服务端)终极版
2018-05-15
QT编写DLL调用示例 方法 参数 返回值 事件回调
2014-05-10
史上最强QT自定义界面纯QSS
2014-12-19
Qt编写密钥生成器+使用demo
2019-02-26
Qt编写守护进程
2019-03-02
QT实现自定义UI-精美标题栏支持最小化最大化关闭鼠标拖动改变大小
2014-07-30
Qt编写网络中转服务器(开源)
2018-05-16
Qt编写echart仪表盘JS交互程序支持webkit和webengine(开源)
2019-03-17
Qt编写调试日志输出工具带网络转发(开源)
2019-03-10
Qt编写串口调试工具V2018
2019-03-12
QT编写的邮件发送工具
2014-03-12
在线考试系统(C#源码)
2009-05-22
QT编写的可换肤的中文双拼输入法核心类
2015-03-08
Qt编写可拖动对象+背景地图+多种样式+多种状态
2018-07-04
qt+mingw32+windows+ffmpeg+rtsp保证编译可用
2014-05-02
VM6000可执行文件
2014-12-27
Qt编写软件运行时间记录(开源)
2019-03-10
QT编写的邮件发送工具可执行文件
2014-03-12
Qt编写GIF录屏工具
2019-04-05
商品进销存报表管理系统(C#版)
2009-05-22
串口设备调试工具
2013-12-20
feiyangqingyun的留言板
发表于 2020-01-02 最后回复 2020-05-24
在一家公司呆了七年半是什么感觉
发表于 2017-11-05 最后回复 2019-11-01
自定义栏目内容无故消失
发表于 2018-10-29 最后回复 2018-10-29
qt5.7中如何用浏览器打开网页
发表于 2016-11-26 最后回复 2018-08-15
您因违反CSDN下载频道规则而被锁定帐户,求解封
发表于 2017-09-12 最后回复 2017-11-05
QT开发的视频监管平台分享
发表于 2014-12-27 最后回复 2017-09-12
Qt编写通用主界面
发表于 2015-06-25 最后回复 2016-04-15
Qt编写可换肤的中文双拼输入法
发表于 2015-03-08 最后回复 2015-08-26
系统分析师资料转让
发表于 2011-04-06 最后回复 2014-12-27
javaEE和Android视频共享
发表于 2012-05-15 最后回复 2014-03-15
软件资格考试
发表于 2008-06-09 最后回复 2008-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝