Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法

各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发

  • 博客(1097)
  • 资源 (186)
  • 收藏
  • 关注

原创 Qt/C++原创项目作品精选(祖传原创/性能凶残/界面精美)

从事Qt开发十年有余,一开始是做C#.NET开发的,因为项目需要,转行做嵌入式linux开发,在嵌入式linux上做可视化界面开发一般首选Qt,当然现在可选的方案很多比如安卓,但是十多年前那时候板子性能低,安卓在这个上面跑的话卡成屎,当时的内存大概是128MB左右,Qt也是主要用QWidget,刚出来的qml在这个上面跑个最简单的示例也是卡成屎,这也造成了本人一直对qml的印象不大好,非常依赖GPU硬件。

2023-07-09 12:09:52 24556 24

原创 Qt/C++编写物联网管理平台(支持win/linux/mac/嵌入式linux/modbus/mqtt等)

这个物联网综合管理平台前后迭代了五年,一点一滴慢慢积累起来,从最开始的只有modbus串口协议解析以及简单的表格显示数据,慢慢的逐渐增加了tcp_rtu支持,用户管理模块,地图监控模块,而后为了拓展性又做了云端数据同步,网络数据转发等。

2022-11-28 09:00:51 16219 13

原创 Qt/C++项目作品源码/性能凶残/祖传原创/界面精美/跨平台

Qt编写的项目作品大全,包括自定义控件大全、属性设计器(组态)、输入法、物联网综合管理平台、可视化大屏电子看板系统、视频监控系统、视频综合应用示例、音频综合应用示例、本地摄像头应用示例、智能安防集中管理平台、界面开发大全、视频监控Onvif综合示例、自定义曲线图柱状图、数据导入导出(xls/pdf)及打印示例、图片及视频TCP/UDP网络传输、地图综合应用(在线+离线+区域+下载)、网络请求客户端/服务器、推流综合应用示例、多线程文件传输等

2021-01-20 18:37:22 193527 79

原创 Qt/C++编写安防视频监控系统(支持win/linux/mac/海康/大华/宇视/264/265等)

一、前言视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅猛,人脸识别相关的技术和应用这几年处于风口浪尖,衍生了特别多的应用产品,各种人脸识别的产品遍地开花,刷脸门禁,车站机场人脸识别,刷脸取票等,但是其实大部分内行人士可能都比较绝望,外行感觉像看科幻片一样...

2019-05-23 17:31:43 54381 24

原创 Qt/C++编写数据可视化大屏界面电子看板系统

前言目前大屏大数据可视化UI这块非常火,趁热也用Qt来实现一个,Qt这个一站式超大型GUI超市,没有什么他做不了的,大屏电子看板当然也不在话下,有了QSS和QPainter这两个无敌的工具组合,借用几个Qt高手朋友的话来说,都是分分钟。在整个系统的编写过程中,发现数学知识真的还是蛮重要的,在重要的几个算法点上,需要多次用到二元一次方程才能搞定几个算法,比如如何分组绘制柱状图。电子看板介绍电子...

2019-05-05 22:31:19 25961 28

原创 推迟了十年终于搞定/纯Qt实现onvif设备模拟器/虚拟监控摄像头/批量模拟几千路/电脑桌面转onvif

本文介绍了一个基于ONVIF协议的设备模拟器开发方案,用于解决视频监控平台开发中设备测试的痛点。该模拟器可实现三大核心功能:ONVIF组播搜索、请求应答交互和RTSP推流,支持将本地视频文件、摄像头采集或桌面内容模拟为多路ONVIF设备。系统采用Qt框架底层开发,避免使用第三方库,提供更强的可控性和扩展性。关键特性包括支持4K/8K高清视频、多路并发模拟、自动重连机制,以及适配各类操作系统和设备厂商。通过该工具,开发者无需真实设备即可完成功能测试和压力测试,有效提升开发效率。文中还分享了组播绑定的技术细节和

2025-07-27 15:20:55 1020

原创 RK3568/3576/3588编译qopenglwidget项目提示failed to create dri3 screen

在RK嵌入式板子开发OpenGL项目时,遇到"libGL error: glx: failed to create dri3 screen"错误导致CPU占用飙升至500%,怀疑是使用了软件渲染而非硬件加速。针对不同板型(如3588和3576)采取不同解决方案:3588板子只需在运行时移除特定路径,而3576板子则需要在main函数前添加qputenv("QT_XCB_GL_INTEGRATION", "xcb_egl")强制使用EGL方式。该方案

2025-07-26 17:54:04 221

原创 Qt/C++开发经验小技巧316-320

本文总结了Qt/C++开发中的几个常见问题及解决方案:1) QPointF转经纬度时需指定精度防止偏差;2) 头文件引入顺序可能导致编译错误,建议Qt头文件放最后;3) QComboBox样式设置问题导致maxVisibleItems失效的解决方法;4) 字符串转整型的注意事项及正确转换方式;5) QByteArray取值时的临时变量问题及处理建议。这些问题都源于实际项目经验,对Qt开发者具有重要参考价值。文章还提供了完整项目资源链接和相关图片展示。

2025-07-26 07:29:53 519

原创 逆天Qt/在嵌入式板子上同时播放4路8K视频/硬解码GPU绘制/RK3588性能太凶残

RK3588开发板展现惊人8K解码能力 近期多款RK3588开发板(包括Firefly、鲁班猫、正点原子等)实测显示,其RKMPP硬解方案性能远超预期。测试表明,这些仅售几百元的嵌入式板卡可流畅解码4路8K视频,而普通PC显卡通常仅能处理1路8K(H.265格式)。其中鲁班猫表现尤为突出。这一性能颠覆了传统认知,展现了Rockchip芯片在视频处理方面的强大实力。文中附带的Qt+FFmpeg示例代码,演示了如何通过AVCodec接口调用RKMPP硬件解码器,实现高效的视频处理流程。

2025-07-24 11:31:09 1059

原创 Qt/C++源码/监控设备模拟器/支持onvif和gb28181/多路批量模拟/虚拟监控摄像头

这款ONVIF视频模拟工具支持多路设备模拟,兼容主流监控厂商设备,提供本地摄像头/桌面/视频文件转ONVIF流功能。支持4K/8K高清分辨率、多种传输协议(RTSP/RTMP/WebRTC等),具备自动重连、批量压力测试能力,适配Windows/Linux/Mac等多平台。提供直观管理界面和7×24小时稳定运行保障,适用于监控系统集成、录像存储及平台压力测试场景。

2025-07-22 14:30:27 503

原创 Qt视音频推流/监控推流/自动重连推流/推流同时保存录像文件到本地/网页打开webrtc预览

摘要 本文介绍了推流组件的自动化改进方案,重点解决两大核心需求:自动重连推流和同步本地录像。针对大规模监控场景中设备离线的痛点,实现了自动释放资源并持续重连的机制,确保推流不中断。同时开发了灵活的本地录像策略,支持按固定时长或整点时间分割文件,便于后续检索。在整合两项功能时发现并修复了野指针问题,通过优化线程管理和加锁机制确保稳定性。文章提供了关键代码片段,展示了推流控制、录像管理及错误处理的具体实现,最终实现了高可靠的自动化推流录制系统。

2025-07-20 08:59:05 1135 1

原创 Qt/C++开发监控GB28181系统/视频点播没有ssrc问题的处理/兼容各种设备和应用场景需求

搞监控拉流,如果仅仅是在开发机器,基本上每个程序员都能做到没有问题,把把都能正常运行,可是到了现场往往就容易掉链子,哪怕是你测试用过的一样的设备,所以必须不断的迭代代码,不断的兼容各种实际场景。

2025-07-17 13:32:51 1127

原创 Qt视频监控系统中的通道布局开源/4-6-8-9-13-16-25-49-64布局/异形布局/布局切换/最大支持64路同时显示

本文介绍了视频监控系统中的多画面布局实现方案,重点讨论了两种常见布局方式:常规对称布局(如2x2)和异形非对称布局(如6画面组合)。文章详细说明了如何通过表格布局实现不同比例的视频排列,包括横屏拼接、竖屏手机视频等特殊场景。作者还分享了其开源的videobox控件,该控件封装了多种布局算法,支持自定义异形布局,并提供了效果图和核心代码片段。控件采用分层菜单管理布局类型,支持双击最大化、右键菜单切换布局等功能,适用于不同通道数的监控场景,已在开源社区获得广泛应用。

2025-07-14 19:53:00 467

原创 监控28181连接到云服务器/推流分发/客户端网页端手机端拉流/实时性好极低延迟

摘要:本文介绍了一套基于GB28181协议的纯Qt开发视频监控系统解决方案。系统实现了GB28181服务端、推流和客户端全流程,支持设备注册、视频点播、云台控制、语音对讲等功能。采用底层UDP/TCP协议实现SIP交互,支持多种拉流方式和推流分发,可部署在云服务器上实现外网访问。系统兼容多种国标设备,具有跨平台特性,代码轻量且注释详细,为GB28181协议的视频监控应用提供了完整的Qt实现方案。

2025-07-12 08:54:28 1225

原创 震惊不已/Qt实现8K视频推拉流/实时性极好/CPU占用居然0%/简直不可思议

摘要 本文介绍了在推流组件中实现8K视频推流的高效解决方案。传统的8K视频播放通常会导致CPU占用率高达99%,甚至导致系统卡死,而该推流组件通过优化策略实现了0%的CPU占用。关键优化在于:若输入流为H.264/H.265编码,则直接转发AVPacket数据包,无需解码,从而大幅降低资源消耗。压力主要集中在网络带宽或磁盘写入速度,而非计算资源。文中提供了核心代码示例,展示了如何通过FFmpeg库实现高效推流,包括输入/输出流的处理、时间基调整等关键步骤。该方案验证了8K推流在低资源占用下的可行性,为高分辨

2025-07-10 15:06:05 742

原创 苦心钻研十几载/Qt自定义控件开发先行者/国内自定义控件开发第X人/原创207个自定义控件/集成到qtc开发环境

摘要:本文介绍了Qt自定义控件开发经验,作者从Qt4.7到Qt6.10持续开发了207个控件。核心在于掌握QPainter绘制技术,通过实践draw系列函数和多参考案例即可上手。虽然集成到Qt Creator存在版本兼容问题(需完全匹配编译器版本),但可通过"提升为"方式使用控件。这套纯QWidget编写的控件库(quc)具有以下特点:跨平台/版本/编译器支持、零耦合设计、详尽示例、精美样式、自适应布局等。提供源码和动态库两种形式,支持设计师插件集成和WASM网页运行,并附带中文注释和属

2025-07-08 10:24:17 1220

原创 Qt实现外网双向音视频通话/支持嵌入式板子/实时性好延迟低/可以加水印

摘要 本文介绍了基于流媒体服务的音视频通话系统实现方案。该系统通过流媒体服务器中转实现了内外网音视频通信,局域网设备需通过云服务器中转才能进行外网通话。文章详细说明了系统架构:音视频数据采集后推流至云服务器,通话双方再从服务器拉取对方音视频流。代码展示了Qt框架下的实现,包括音视频输入输出处理、流媒体线程管理及UI交互。注意事项包括服务器带宽需求(1080P视频需4-5MB带宽)及网络优化建议(如降低分辨率)。系统支持一对一及拓展多对多通话,并可通过权限验证避免串流问题。

2025-07-06 16:10:28 878 1

原创 全网唯一/Qt结合ffmpeg实现手机端采集摄像头推流到rtsp或rtmp/可切换前置后置摄像头/指定分辨率帧率

之前已经实现了Qt结合ffmpeg在安卓上运行,所有在win上的功能,在安卓上都已经实现,比如编码保存到MP4文件,正常解码音视频文件播放等,唯独还差一个功能,尽管用的不多,但是还是有一定需求的,那就是采集手机上的摄像头。以前傻哔哔的以为和linux类似,去打开/dev/video0设备文件的方式去读取,发现根本没用,后面又怀疑过权限的问题,于是想尽了各种办法把需要的权限全部加上了,还是没用。

2025-07-04 16:15:43 709

原创 Qt音视频开发技巧/推流带旋转角度/rtsprtmp推流/保存文件到MP4/拉流解析旋转角度

手机拍摄视频带有旋转角度信息(90/270度),传统播放器无法解析导致画面倒置。本文提出一种创新解决方案:通过FFmpeg获取/设置视频旋转角度,并利用RTSP协议的自定义元数据传递该信息。作者实现了非编码方式的旋转视频推流播放,解决了传统方案需重新编码的高CPU消耗问题。代码展示了从不同FFmpeg版本获取旋转角度的方法,以及通过元数据传输旋转信息的实现。该方案支持多种视频格式、编解码内核和显示模式,具备高效、兼容性强等特点,是目前唯一支持非编码旋转视频推流播放的技术方案。

2025-07-02 11:32:54 1233 1

原创 Qt地图gis软件开发经验总结/为什么建议选用天地图

搞地图相关软件或者功能开发很多年,最开始搞得是百度地图,把官网对应的API接口都实现了一遍,好用肯定是好用,但是缺点也挺多,最大缺点就是坐标系需要转换,现在很多的设备传过来的要么是地球坐标系,要么是国家标准的坐标系,而百度地图是自己的坐标系,在国标上又加了自己的偏移,搞得很不兼容,比如其他地图的瓦片也不兼容百度地图,所以杂交起来也难搞,以上缺点也都能将就着用,现在最大缺点来了,就是收费了,直接在瓦片图片上显示未授权字样,而且收费巨贵,个人完全无法承担。

2025-06-29 08:21:53 1467

原创 不好用捶我/历时十年磨一剑/视频播放组件/一个地址涵盖所有的需求/通过地址传入参数

本文介绍了一个高度灵活的通用视频播放组件设计方案,支持RTSP流、本地设备采集和桌面录制三大场景。通过URL参数化设计(用竖杠分隔参数)实现一键配置解码策略、分辨率、帧率等关键参数,兼顾易用性与扩展性。方案经过十年实战打磨,提供智能参数优先级机制(URL参数>结构体参数>默认值),并支持视频压缩比调整、动态缩放等高级功能。典型应用包括:指定TCP协议打开RTSP监控流、自定义帧率采集摄像头、多屏幕桌面录制等。代码示例展示了如何通过统一接口快速实现不同场景的视频处理需求。

2025-06-25 13:57:55 1075

原创 Qt/C++开发监控GB28181系统/rtp解包/jrtplib库的使用/同时支持udp和tcp被动和主动三种方式解包

文章摘要: SIP协议仅用于通信协商,音视频数据通过RTP协议打包传输。本文介绍使用jrtplib开源库实现RTP解包/封包,支持UDP/TCP方式接收GB28181视频流数据。系统具备完整国标功能,包括设备管理、视频点播、云台控制、语音对讲等,支持多种流传输方式和并发处理。采用纯C++/Qt开发,跨平台兼容性强,代码简洁高效。关键技术点包括RTP端口池管理、自动重连、视频分发等,实测支持64路视频同时播放,可扩展至更多路数。

2025-06-23 11:18:29 951

原创 不断迭代十几年/终于修成正果/超强悍地图组件/满足各种场景需求/支持天地图百度地图高德地图谷歌地图等

本文介绍了一款历时十余年持续开发的多功能地图组件,支持百度、高德、天地图、腾讯及谷歌等多种地图内核,具备在线/离线双模式运行能力。组件采用C++多态架构设计,核心功能包括: 基础功能:地图展示、标注管理(支持动态图标/富文本)、坐标转换、路径规划、图形绘制等; 高级功能:轨迹回放(含数据导入)、点聚合、海量点渲染、行政区划边界加载等; 特色工具:离线地图下载器、省市轮廓生成器、ECharts集成可视化等; 跨平台支持:兼容Qt全版本,可编译至Android系统,提供QWidget/QML双界面方案。 组件通

2025-06-20 08:29:36 1939

原创 Qt/C++开发监控GB28181系统/记一个取流失败问题的解决/不支持的传输模式/主动拉流端口校验

原以为把手头上的海康大华宇视华为等摄像头测试国标监控功能没问题就算大功告成,哪成想这只是完成的一部分,各种复杂的情况只有现场才能复现,首先就是设备可能有盗版的设备,导致支持的协议不全,比如有些厂家的设备只支持TCP被动模式取流,你发其他模式点播,会返回sdp信息,仔细观察sdp信息会发现通信端口号为0,意味着其实不支持,此时要能够识别到,所以后面程序改成统一在收到了正确的sdp的取流端口后,再去打开视频通道收流解码,并给出错误的提示。

2025-06-18 08:28:27 772 1

原创 Qt/C++编写监控批量推流工具/海康大华一键推流/网页实时预览/支持264和265以及webrtc

要想将视频监控设备的实时视频放到网页预览,基本上的方案都是要先推流,推流到流媒体服务后,然后网页再从流媒体服务这边拉流,一般会选择拉hls也就是m3u8,这个延迟很大,最低延迟估计都要3s,所以后面很多方案选择flv,这个延迟可以做到2s左右,但是又有6个同源的限制,也就是一个网页上只能同时打开6路视频流,所以后面又出来个ws-flv,也就是通过websocket的方式来传输flv流解码显示,这个突破额6个的限制,广大的用户们依然不满足,因为延迟超过1s其实还是很明显的,所以后面主推webrtc,这个就非常

2025-06-15 20:34:01 1143

原创 Qt/C++开发监控GB28181系统/拉流自动跳过被占用的端口/自动回收端口/端口池/同时支持udp/tcp被动/tcp主动

GB28181视频监控系统的智能端口管理与取流优化 摘要:本文介绍了GB28181视频监控系统中端口管理的智能解决方案。系统采用动态端口池机制,在6900-7900范围内自动检测可用端口,避免了端口占用导致的取流失败问题。当端口被占用时,系统会自动尝试下一个端口直到成功监听,并通过SIP协议将端口信息发送给设备端。同时实现了端口回收机制,在关闭通道时将端口重新放回池中循环利用,确保端口资源永不耗尽。该方案有效提升了系统稳定性和用户体验,解决了传统监控平台因端口占用而卡死的常见问题。此外,系统还支持多种协议版

2025-06-13 10:54:15 876

原创 Qt指定应用程序窗口采集录屏和推流/自动罗列窗口标题/实时性好延迟极低

本文介绍了如何优化Windows应用程序窗口采集功能,通过EnumWindows枚举窗口并过滤不可见、最小化及系统窗口,获取可采集窗口标题和程序路径。作者参考了OBS软件的实现方式,解决了用户手动输入窗口标题不便的问题。文中展示了过滤后的窗口选择效果图,并提供了相关实现代码,包括Qt6.6中的跨平台枚举方法。该功能已集成到视频处理库中,支持多种解码内核和显示模式,适用于不同系统环境。代码开源在Gitee/Github,更多技术细节可访问作者博客或下载演示文件。

2025-06-10 08:35:58 1037

原创 Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码画面不会花屏或者不完整,就是速度上慢了一些。tcp被动模式和udp模式其实是一样的,只不过udp模式是监听的udp端口,而tcp被动模式是监听的tcp端口,然后数据的接收处理完全一样。

2025-06-06 14:14:16 1412

原创 垃圾qt,毁我青春

在软件开发的漫漫征途中,我与 Qt 的邂逅本以为是一场美妙的合作,然而,现实却给了我沉重的一击。“垃圾 qt,毁我青春”,这句看似过激的话语,实则饱含了我在 Qt 开发之路上的无数辛酸与无奈。

2025-06-04 14:50:07 878 2

原创 Qt/C++编写GB28181服务端工具/绿色版开箱即用/对标wvp-gb28181/实时画面预览/录像回放下载

本文介绍了一款基于Qt开发的GB28181视频监控系统,解决了BS结构工具性能不足的问题,支持纯本地解码显示。相比主流方案,该系统采用CS架构,性能更优,支持国产芯片环境,提供开箱即用的绿色版本。功能涵盖设备管理、视频点播、录像回放、云台控制、语音对讲等,支持多种通信协议和拉流方式。系统代码简洁高效,兼容各平台和设备厂商,提供详细的示例和文档。相关资源和代码已开源,适用于安防监控等多种场景。

2025-06-02 17:46:40 1019 1

原创 基于RK3568/RK3588/全志H3/飞腾芯片/音视频通话程序/语音对讲/视频对讲/实时性好/极低延迟

本文介绍了基于推流拉流方案的音视频通话实现,相比WebRTC方案更轻量且开发难度低。该方案通过采集端将音视频推送到流媒体服务器,接收端拉取RTSP/RTMP等流地址播放。系统提供丰富的布局功能:支持自定义悬浮画面位置、画中画模式交换、多种画面排列方式,以及文字/图片水印的自定义设置。文中展示的效果图直观呈现了多种布局效果,代码片段则演示了Qt框架下的音视频线程管理、窗体位置保存等核心功能实现。该方案兼顾灵活性和实用性,适用于不同场景的音视频通话需求。

2025-05-30 11:23:41 888

原创 关于无法下载Qt离线安装包的说明

Qt官方不再提供离线安装包直接下载,导致早期版本(如5.12)获取困难。虽然在线安装仅支持5.15及以上版本,但用户仍可通过特定格式的URL手动构建下载链接获取历史版本。不同平台安装包URL遵循统一命名规则(如Windows为.exe,Linux为.run,Mac为.dmg),使用下载工具即可完成获取。这一现象甚至催生了相关商业服务。示例展示了5.12.12和5.12.0版本各平台安装包的标准下载路径格式。

2025-05-29 17:35:15 1113

原创 Qt/C++开发监控GB28181系统/sip协议/同时支持udp和tcp模式/底层协议解析

GB28181协议服务端实现解析:支持UDP/TCP双通道,自动处理粘包问题 摘要: 本文介绍了基于GB28181协议的服务端实现方案。从2016版协议开始要求支持TCP传输,以解决UDP在网络环境差时的指令丢失问题。通过C++继承机制设计GB28181ServerBase基类,派生出UDP和TCP处理子类,实现双通道支持。特别针对TCP粘包问题(尤其是录像查询场景),提出了完整数据包接收方案。功能涵盖设备管理、视频点播、录像回放、云台控制等30余项特性,支持海康、大华等主流设备。代码采用纯Qt实现,跨平台

2025-05-28 09:35:30 1257 1

原创 Qt/C++地图开发/高级绘图/航线规划和模拟/动态标注轨迹线/带序号和方向箭头指示

本文介绍了高级绘图模块中航迹规划功能的实现。该功能基于底层地图组件二次开发,允许用户在地图上点击添加有序标注点,自动生成带方向箭头的航线。关键技术包括:1)通过计算两点角度自动调整箭头方向;2)支持拖拽标注点实时更新航线和箭头;3)提供标注点序号显示、选中高亮、删除重排等功能。通过封装通用接口,该方案可适配多种地图组件,并采用事件监听机制实现交互响应。效果图展示了完整的航线规划界面,相关代码演示了坐标计算、箭头旋转、拖拽处理等核心逻辑。

2025-05-25 15:10:47 889

原创 Qt/C++搜索行政区边界和保存边界点到文件/离线加载行政区边界

文章摘要:本文介绍了如何通过多边形区域(polygon)绘制行政区划轮廓图,并动态加载行政区划数据。最初,边界点坐标文件被嵌入到JS文件中,但这种方式无法实现动态加载。随后,开发了一个JS函数,通过传入经纬度坐标集合来绘制行政区划,支持多个封闭区域(如飞地和海岛)。文章还提到,天地图的行政区划功能已从地图JS中移除,需通过HTTP请求获取数据,这种趋势使得地图功能更加专注。代码部分展示了如何通过HTTP请求获取行政区划数据并绘制多边形区域。最后,文章提供了相关地址和功能特点,包括支持多种地图内核、在线和离线

2025-05-23 08:59:26 780

原创 Qt/C++开发监控GB28181系统/语音对讲/语音广播/实时通话/音视频通话

GB28181协议中的语音对讲功能相较于视频点播更为复杂,涉及服务端与设备端的多次交互。对讲流程包括服务端发送语音广播通知、设备端应答并发起点播请求、服务端应答并监听端口等步骤。音频数据通过RTP格式传输,设备端的声音通常通过视频通道一并传输。在界面交互上,利用现有的视频控件悬浮条,添加语音对讲按钮,并通过专门的GB28181WidgetManage类管理对讲状态,确保同一时间只有一个通道处于对讲状态。该功能支持设备注册、注销、心跳、校时等操作,并具备视频点播、录像回放、云台控制、语音对讲等多种功能,适用于

2025-05-21 11:27:22 1105

原创 Qt音视频开发过程中一个疑难杂症的解决方法/ffmpeg中采集本地音频设备无法触发超时回调

在实时音视频通话项目中,使用ffmpeg采集本地音频设备时,发现当音频设备被拔掉后,采集过程会卡死在av_read_frame函数中,即使设置了超时时间和回调函数也无法解决。经过多次尝试,最终采用了一个自定义的解决方案:在采集线程中记录最后一次数据采集的时间,并启动一个定时器来检查当前时间与最后采集时间的差值。如果超过设定的时间(如5秒),则认为采集失败,并强制停止线程后重新启动采集线程。这种方法避免了直接退出线程导致的卡死问题,确保了设备不存在时能够立即返回并继续下一次判断,直到设备恢复正常。

2025-05-18 09:16:18 1521 5

原创 Qt/C++编写音视频实时通话程序/画中画/设备热插拔/支持本地摄像头和桌面

本文介绍了一个基于Qt和FFmpeg开发的嵌入式音视频通话系统,支持局域网和外网实时通话,延迟低且资源占用少。系统能够自动获取本地视音频设备,支持多种分辨率和帧率设置,并内置流媒体服务,支持RTSP、RTMP、HTTP、WebRTC等协议拉流。此外,系统还支持画中画、自定义悬浮画面、水印添加等功能,适用于Windows、Linux、macOS及嵌入式系统。通过推拉流技术,系统实现了高效的音视频传输,支持多用户加入和长时间稳定运行。相关代码展示了系统的初始化、音视频设备管理及流媒体服务的实现。

2025-05-16 08:32:58 873

原创 Qt/C++开发监控GB28181系统/录像文件查询/录像回放/倍速播放/录像文件下载

录像回放功能与视频点播类似,但需在SDP信息中指定开始和结束时间。实时预览无法切换进度,而录像回放支持进度切换。实现录像回放需先查询录像文件,设备端返回的文件信息可能包含多个文件,需逐个解析。切换播放进度时,部分厂家采用重新点播的方式,导致短暂黑屏,而国标协议提供了直接切换进度的SIP指令,设备端会立即从指定位置开始发流。代码示例展示了查询文件、点播请求、暂停和继续播放的SIP消息格式。

2025-05-14 09:12:12 637

原创 Qt编写万能硬解播放器/支持传入QByteArray流数据解码/websocket视频流/tcp和udp网络流/gb28181监控rtp流/8K

本文介绍了如何利用Qt和FFmpeg开发一个支持内存流数据解码的播放组件。传统的FFmpeg解码流程通常需要先打开一个音视频地址,但对于直接从内存流(如TCP/UDP接收的264/265裸流数据)进行解码的场景,常规方法不再适用。通过使用FFmpeg提供的AVIOContext和AVFifo接口,开发者可以处理内存流数据,并实现与常规解码流程相似的框架。具体实现中,通过AVFormatContext的回调函数和avio_alloc_context创建内存流上下文对象,并指定读取回调函数read_packet

2025-05-12 15:35:07 732

DS7400报警主机调试工具

可以接收DS7400主机的布防撤防报警信号,识别电池低压低等故障信息。

2014-04-07

QT自定义精美换肤界面

陆陆续续用QT开发过很多项目,也用QT写过不少私活项目,也写过N个工具,一直梦寐以求能像VC一样可以很方便的有个自定义的界面,QSS的强大让我看到了很好的希望。 特点: 1:无边框窗体,自定义标题栏,鼠标拖动,大小缩放,双击切换。 2:除了少量的几个图片资源外,几乎使用QSS写完所有颜色样式控制。 3:自定义一个QMessageBox对话框,自动换行显示提示信息,可以很方便的调用。 4:使用fontawesome图形字体库,将互联网的优秀资源应用于QT中。 5:彻底公开源码,可以任意随意使用。 6:QT各个版本都可以编译通过,亲测无误。 7:自带提供了四种样式黑色、蓝色、灰色、天蓝色风格供选择,可以自由更改image文件夹下的样式,也可以自己增加一些样式。

2014-08-15

QSS样式表之PS黑色风格+白色风格+淡蓝色风格

QSS样式表之高仿PS黑色风格+白色风格+淡蓝色风格,个人最喜爱的淡蓝色风格,相当精美!

2018-05-06

QT C++ 编写的VISTA报警主机调试工具

开发环境:QT 语言:c++ 功能:实现了对VISTA系列报警主机的布防撤防虚拟键盘控制,并能识别各种布防撤防防区报警信号。

2014-04-07

QT c++ 编写的DS7400主机调试工具

开发环境:qt 语言:c++ 功能:实现了ds7400主机的布防撤防报警旁路等信号的识别。

2014-04-07

QT编写DLL调用示例 方法 参数 返回值 事件回调

QT编写DLL给外部程序调用示例 方法 参数 返回值 事件回调 : 1:C#或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明函数 必须与实际DLL中函数名及参数一致; [DllImport "qtdll dll" ] public static extern int add int i ; 第三步:调用函数执行; Console WriteLine add 10 ToString ; 2:QT 第一步:引入头文件; #include <QLibrary> 第二步:定义函数指针 以备调用; typedef int Add int ; 第三步:载入DLL 调用函数执行; QLibrary lib "qtdll dll" ; lib load ; Add add Add lib resolve "add" ; add 50 ; 3:C或C++ 第一步:引入头文件; #include <windows h> 第二步:定义函数指针; typedef int Add int ; 第三步:载入DLL 调用函数执行; HINSTANCE hDll LoadLibrary "qtdll dll" ; 载入DLL获取句柄 if hDll NULL { Add add Add GetProcAddress hDll "add" ; 获取函数地址 printf "%d" add 110 ; FreeLibrary hDll ; 释放DLL }">QT编写DLL给外部程序调用示例 方法 参数 返回值 事件回调 : 1:C#或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明函数 必须与实际DLL中函数名及参数一致; [DllImport "qtdll dll" ] public static extern int add in [更多]

2014-05-10

VISTA128主机调试工具

VISTA128主机调试工具,通过串口与主机通信,可以识别主机布防撤防/防区故障恢复旁路等状态信息,调试可以通过串口回控主机进行布防撤防操作.本工具在官方软件上破解协议编写而成.

2014-11-04

Qt实现的FlatUI样式

对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反而没有扁平化来得亲切。 Flat UI是基于Bootstrap之上进行二次开发的扁平化前端框架,他提供了动感、时尚的风格色调搭配,简洁、炫丽的功能组件,同时还提供了更为平滑的js交互动画,可以称得上前端扁平化设计框架的优秀代表之一。 既然是扁平化设计框架的优秀代表,当然需要在自己项目中应用应用,Qt中的qss机制,和css极为相似,感觉就是脱胎于css,用qss来实现Qt界面样式不是一般的方便,而是相当的爽,在看到FlatUI这样的精美的扁平化设计样式后,难以抑制手痒痒,就想用qss实现类似的风格。

2016-12-11

Qt仿win7自动顶部最大化左侧右侧半屏效果

在Qt中,如果是无边框窗体,(有边框窗体和操作系统窗体效果一致)并没有相关的API接口来实现这个效果,必须自己写代码来模拟这个效果,原理很简单,绑定事件过滤器,自动计算当前无边框窗体的位置和鼠标按下去的坐标,当到达顶部或者左侧右侧时,自动设置该窗体的geometry即可。

2017-04-16

QT编写的可换肤的中文双拼输入法可执行文件

Qt编写可换肤的中文双拼输入法 1:各Qt版本(Qt4.6-Qt5.4)、各操作系统(windows、linux、嵌入式linux-ARM)全编译运行通过,界面一致。 2:支持小写、大写、中文三种模式输入,自由切换。 3:支持单拼双拼词组输入,网上大部分只支持单个汉字输入。 4:智能分页算法,可任意翻页查看汉字词组。 5:除了支持鼠标单击软键盘输入外,还支持实体键盘同步输入,代码中有映射处理,对应实体键盘的按键会反应到软键盘处理。 6:七套精美皮肤样式选择,鼠标右键任意换肤。 7:代码优化到极致,包括注释和所有完善性代码处理总共不到500行。 8:除了可以单击软键盘和实体键盘上的数字来选择对应的汉字外,还支持鼠标单击汉字显示处来选择汉字。 9:无边框窗体,可拖动移动。 10:sqlite数据库存储汉字字库,可自由添加自定义的词组。 11:参考实体键盘布局,更逼真。 12:界面布局、字库算法、界面切换100%首创处理,与任何网上的Qt输入法处理方式和布局截然不同。、 13:用法简单极致,只需要在项目中添加输入法界面类(共三个文件frminput.h/frminput.cpp/frminput.ui),然后在main函数中引入头文件#include "frminput.h"后调用frmInput::Instance()->hide();即可。整个工程都可以用。

2015-03-08

QT编写的可换肤的中文双拼输入法核心类

Qt编写可换肤的中文双拼输入法 1:各Qt版本(Qt4.6-Qt5.4)、各操作系统(windows、linux、嵌入式linux-ARM)全编译运行通过,界面一致。 2:支持小写、大写、中文三种模式输入,自由切换。 3:支持单拼双拼词组输入,网上大部分只支持单个汉字输入。 4:智能分页算法,可任意翻页查看汉字词组。 5:除了支持鼠标单击软键盘输入外,还支持实体键盘同步输入,代码中有映射处理,对应实体键盘的按键会反应到软键盘处理。 6:七套精美皮肤样式选择,鼠标右键任意换肤。 7:代码优化到极致,包括注释和所有完善性代码处理总共不到500行。 8:除了可以单击软键盘和实体键盘上的数字来选择对应的汉字外,还支持鼠标单击汉字显示处来选择汉字。 9:无边框窗体,可拖动移动。 10:sqlite数据库存储汉字字库,可自由添加自定义的词组。 11:参考实体键盘布局,更逼真。 12:界面布局、字库算法、界面切换100%首创处理,与任何网上的Qt输入法处理方式和布局截然不同。、 13:用法简单极致,只需要在项目中添加输入法界面类(共三个文件frminput.h/frminput.cpp/frminput.ui),然后在main函数中引入头文件#include "frminput.h"后调用frmInput::Instance()->hide();即可。整个工程都可以用。

2015-03-08

QT实现自定义UI-精美标题栏支持最小化最大化关闭鼠标拖动改变大小

1:真正意义上的无边框自定义标题栏,支持最小化最大化关闭,支持标题栏双击实现,支持鼠标拖动,支持鼠标在边框处拖动改变窗体大小,网络上的绝大部分都是扯蛋,要么不支持鼠标改变界面大小,要么鼠标移到其它按钮界面瞬间移动等各种不理想状态。 2:无任何资源文件,纯QSS实现精美标题栏及自定义按钮样式,可以稍作修改增加更多的样式,QSS真是太强大了! 3:使用fontawesome-webfont.ttf字体文件实现最小化最大化关闭等按钮文字,图形文字,很好很强大! 4:提供16种各类曲线啥线的绘制,只需点击一下按钮即可切换观看效果! 5:主窗体界面与功能界面分离,注释两行代码即可。 6:代码最精简,可免费用于任何项目! 7:感谢网络上各种共享资源。

2014-07-30

Qt编写可换肤的中文双拼输入法运行截图

Qt编写可换肤的中文双拼输入法 1:各Qt版本(Qt4.6-Qt5.4)、各操作系统(windows、linux、嵌入式linux-ARM)全编译运行通过,界面一致。 2:支持小写、大写、中文三种模式输入,自由切换。 3:支持单拼双拼词组输入,网上大部分只支持单个汉字输入。 4:智能分页算法,可任意翻页查看汉字词组。 5:除了支持鼠标单击软键盘输入外,还支持实体键盘同步输入,代码中有映射处理,对应实体键盘的按键会反应到软键盘处理。 6:七套精美皮肤样式选择,鼠标右键任意换肤。 7:代码优化到极致,包括注释和所有完善性代码处理总共不到500行。 8:除了可以单击软键盘和实体键盘上的数字来选择对应的汉字外,还支持鼠标单击汉字显示处来选择汉字。 9:无边框窗体,可拖动移动。 10:sqlite数据库存储汉字字库,可自由添加自定义的词组。 11:参考实体键盘布局,更逼真。 12:界面布局、字库算法、界面切换100%首创处理,与任何网上的Qt输入法处理方式和布局截然不同。、 13:用法简单极致,只需要在项目中添加输入法界面类(共三个文件frminput.h/frminput.cpp/frminput.ui),然后在main函数中引入头文件#include "frminput.h"后调用frmInput::Instance()->hide();即可。整个工程都可以用。

2015-03-08

镜头焦距计算工具VB源码

镜头焦距计算工具VB源码,简单,值得学习!

2014-05-19

镜头/硬盘测算工具

镜头/硬盘测算工具,根据物宽物高和物距计算镜头大小,根据码流计算硬盘存储大小

2014-05-19

VM6000可执行文件

QT开发之旅五视频监管平台可执行文件,项目需求:某区下面有几百所学校,每个学校都有若干台NVR或者DVR,每台NVR和DVR都挂接着N个IPC(摄像机)(包括网络摄像机和模拟摄像机),现在需要对所有学校的监控进行查看以及回放和轮询,能够对指定学校进行视频监控,对所有学校的视重点部位视频进行查看轮询,可自定义轮询时间等。 开发过程:本着尽量追求简洁的要求,最终编写了如上图的主界面。没有采用QT自带的界面,而是重写了界面,自定义无边框拖动,自由换肤,全部采用QSS控制,本人从官网http://qt-project.org/doc/qt-4.8/stylesheet-examples.html彻底学习了下QSS的规则,整理了一套通用的换肤方案。

2014-12-27

Qt编写视频监控画面分割界面

Qt编写视频监控画面分割界面,支持四画面+六画面+八画面+九画面+十六画面,鼠标右键菜单切换。

2018-05-06

qt+mingw32+windows+ffmpeg+rtsp保证编译可用

1:此示例只是用来显示视频流,并没有处理存储视频及回放视频功能. 2:在打开项目后务必将构建里面的影子构建(Shadow build)取消. 3:实时显示视频,视频响应速度比VLC,QTAV等播放器快很多倍. 4:精简代码,在windows下是可以完整编译通过并运行的.linux下要将对应ffmpeg库文件替换. 5:支持三通道同步显示一个视频流,可以单击截图按钮截图放在最后一个通道. 6: 支持单个通道双击最大化显示. 7:代码处理并不够完整,还有很多需要优化的地方.

2014-05-02

QT编写的简易安防视频监控系统

说明: 1:此示例只是用来显示视频流 并没有处理存储视频及回放视频功能 2:在打开项目后务必将构建里面的影子构建 Shadow build 取消 3:实时显示视频 视频响应速度比VLC QTAV等播放器快很多倍 4:精简代码 在windows下是可以完整编译通过并运行的 linux下要将对应ffmpeg库文件替换 5:代码处理并不够完整 还有很多需要优化的地方 6:代码注释不够详尽 但是简单易懂 7:没有使用定时器 采用信号槽机制实现视频流播放 8:处理全部放在QFFmpge类中 包括注释也才到100行代码左右 9:使用示例简单方便 自带了一个珍藏多年的黑灰色主题样式表 锦上添花 10:窗体加载时动画渐显效果 11:同时支持两路RTSP视频流播放 代码稍作修改即可16路同时显示 12:1画面到16画面模式自由切换 13:自定义按钮标签样式表应用 14:自定义标题栏和不规则窗体的实现 真正意义上实现了鼠标拖动 不仅仅是拖动标题栏才能动 15:QT4与QT5均可编译通过 亲测无误 ">说明: 1:此示例只是用来显示视频流 并没有处理存储视频及回放视频功能 2:在打开项目后务必将构建里面的影子构建 Shadow build 取消 3:实时显示视频 视频响应速度比VLC QTAV等播放器快很多倍 4:精简代码 在windows下是可以完整编译 [更多]

2014-07-19

VISTA报警主机调试工具

很好用的VISTA系列报警主机调试工具,支持回控主机,实时显示主机状态等。

2014-04-07

监控国标GB28181/实时视频/云台控制/预置位/录像回放和下载/事件订阅/语音对讲

项目介绍 https://qtchina.blog.csdn.net/article/details/107972151

2025-04-10

Qt推流综合应用/监控推流/文件推流/桌面推流/极低延迟/各种协议

详细介绍 https://qtchina.blog.csdn.net/article/details/104790588

2025-03-27

实时视音频通话示例/极低延迟/可外网通话/画中画/支持嵌入式板子

项目介绍 https://qtchina.blog.csdn.net/article/details/147678427

2025-07-07

Qt物联网组件/多线程采集/modbus/mqtt/高并发/跨平台

https://qtchina.blog.csdn.net/article/details/103945421

2025-03-27

Qt视频监控Onvif组件/组播搜素/云台预置位/OSD/显示视频/onvif搜索工具/云台控制

https://qtchina.blog.csdn.net/article/details/104005731

2025-03-27

Qt帧同步播放器/本地多窗口拼接同步/远程同步/8K16K分辨率/硬解码

详细介绍 https://qtchina.blog.csdn.net/article/details/103947479

2025-03-27

Qt视频监控系统/onvif搜索/云台预置位/录像存储回放/支持海康大华宇视华为天地伟业等所有厂家

**在线文档:[http://www.qtcdev.com/video_system/](http://www.qtcdev.com/video_system/)** ## 一、功能特点 ### 0.6.1 软件模块 1. 视频监控模块,各种停靠小窗体子模块,包括设备列表、图文警情、窗口信息、云台控制、预置巡航、视频轮询、设备控制、悬浮地图、网页浏览等。 2. 视频回放模块,包括本地回放、网络回放、远程回放、图片回放、视频上传等。 3. 电子地图模块,包括图片地图、设备地图、设备移动、轨迹回放等。 4. 日志查询模块,包括本地日志、设备日志等。 5. 系统设置模块,包括系统设置(基本设置、视频参数、数据库设置、颜色配置、功能激活等)、录像机管理、摄像机管理、轮询配置、录像计划、用户管理、其他设置等。

2025-03-27

天地图离线api完整包,支持官网所有的操作,包括轨迹移动等

天地图离线api完整包,支持官网所有的操作,包括轨迹移动等。花了很久的时间才从官网爬下来的,完全离线使用,只需要瓦片地图文件放入对应目录即可。

2024-09-07

Qt/C++编写的带频谱的音乐播放器

1. 可获取整个声音文件采样值数据 2. 可实时获取当前播放位置的采样值数据 3. 可设置采样的步长和数量 4. 可开始播放/暂停播放/停止播放 5. 多线程处理,超流畅 6. 可设置当前播放位置 7. 可设置和调节音量 8. 支持任意Qt版本及mingw和msvc编译器,包括32位和64位

2023-12-05

Qt编写网络中转服务器(开源)

需求 1:手机端或者其他端可以对设备进行回控,并查看设备各种运行状态,接收报警推送等。 2:同时支持在局域网、广域网、互联网访问,尤其是互联网访问。 3:权限控制,给定账号控制授权的设备,并自动拉取设备信息。 4:设备不在线要给出反馈信息提示以便分析。 5:每个连接都有自己的唯一编号作为标识符。 6:可以方便的拓展为微信接入+小程序接入+web接入。

2018-05-16

Qt编写网络调试助手(TCP客户端+TCP服务端+UDP服务端)终极版

时隔半年,对网络调试助手工具进行所有代码重写,这次目录结果整齐的一逼,代码整齐的一逼,非常完善了,打死也不再改版了。这次真的打死也不再改版了。 旧版本1:http://www.qtcn.org/bbs/read-htm-tid-55540.html 旧版本2:http://www.qtcn.org/bbs/read-htm-tid-62636.html 基本功能: 1:16进制数据和ASCII数据收发。 2:定时器自动发送。 3:自动从配置文件加载最后一次的界面设置。 4:自动从配置文件加载数据发送下拉框的数据。可以将经常使用的数据填写在send.txt中。 5:可启用设备模拟回复,当收到某个数据时,模拟设备自动回复数据。对应数据格式填写在device.txt中。 6:可对单个在线连接发送数据,也可勾选全部进行发送。 7:支持多个客户端连接并发。 8:采用单线程。 9:四种模式,tcp服务器、tcp客户端、udp服务器、udp客户端。

2018-05-15

Qt编写守护进程

没有任何人敢保证自己写的程序没有任何BUG,尤其是在商业项目中,程序量越大,复杂度越高,出错的概率越大,尤其是现场环境千差万别,和当初本地电脑测试环境很可能不一样,有很多特殊情况没有考虑到,如果需要保证程序7*24小时运行,则需要想一些办法能够让程序死了能够活过来,在嵌入式linux上,大部分会采用看门狗的形式来处理,程序打开看门狗驱动后,定时喂狗,一旦超过规定的时间,则硬件软复位等。这种方式相对来说比较可靠,如果需要在普通PC机上运行怎办呢?本篇文章提供一个软件实现守护进程的办法,原理就是udp通信,单独写个守护进程程序,专门负责检测主程序是否存在,不存在则启动。主程序只需要启动live类监听端口,收到hello就回复ok就行。 为了使得兼容任意程序,特意提炼出来共性,增加了多种设置。 1:可设置检测的程序名称。 2:可设置udp通信端口。 3:可设置超时次数。 4:自动记录已重启次数。 5:自动记录最后一次重启时间。 6:是否需要重新刷新桌面。 7:可重置当前重启次数和最后重启时间。 8:自动隐藏的托盘运行或者后台运行。 9:提供界面设置程序名称已经开启和暂停服务。

2019-03-02

Qt编写密钥生成器+使用demo

在很多商业软件中,需要提供一些可以试运行的版本,这样就需要配套密钥机制来控制,纵观大部分的试用版软件,基本上采用以下几种机制来控制。 1:远程联网激活,每次启动都联网查看使用时间等,这种方法最完美,缺点是没法联网的设备就歇菜了。 2:通过获取本地的硬盘+CPU等硬件的编号,做一个运算,生成一个激活码,超过半数的软件会采用此方法,缺点是不能自由控制软件的其他参数,比如软件中添加的设备数量的控制。 3:设定一个运行到期时间+数量限制+已运行时间的密钥文件,发给用户配套软件使用,缺点是如果仅仅设置的是运行到期时间,用户可以更改电脑时间来获取更长的使用时间,在电脑不联网的情况下。 本demo采用抛砖引玉的形式,用第三种方法来实现,密钥文件采用最简单的异或加密,可以自行改成其他加密方法。

2019-02-26

Qt编写软件运行时间记录(开源)

在早期开发的软件中,尤其是初学者入门者写的软件,软件运行久了,难免遇到意外崩溃的时候,可是大部分的运行设备可能在现场客户那,需要记住每一次从软件启动后到软件意外关闭前的运行时间,需要记录的信息包括:编号+开始时间+结束时间+已运行时间,每次完整的运行过程只产生一条记录,每次运行时间改变以后更新当前这条记录即可。这样就可以确切的了解到软件在现场的真实运行情况是否糟糕,如果没有这个记录(当然可以选择记录存储到数据库),程序又重启恢复了,也不知道到底每次运行了多久,从几点到几点。

2019-03-10

Qt编写可拖动对象+背景地图+多种样式+多种状态

在很多项目应用中,需要根据数据动态生成对象显示在地图上,比如地图标注,同时还需要可拖动对象到指定位置显示,能有多种状态指示,为此特意编写本控件,全部开源出来,欢迎大家提建议。

2018-07-04

Qt编写调试日志输出工具带网络转发(开源)

用qt开发商业程序已经九年了,陆陆续续开发过至少几十个程序,除了一些算不算项目的小工具外,大部分的程序都需要有个日志的输出功能,希望可以将程序的运行状态存储到文本文件或者数据库或者做其他处理等,qt对这个日志输出也做了很好的封装,在Qt4是qInstallMsgHandler,Qt5里边是qInstallMessageHandler,有了这个神器,只要在你的项目中所有qdebug qinfo等输出的日志信息,都会重定向接收到,网上大部分人写的demo都是接收到输出打印日志存储到文本文件,其实这就带给很多人误解,容易产生以为日志只能输出到文本文件,其实安装了日志钩子以后,拿到了所有调试打印信息,你完全可以用来存储到数据库+html有颜色区分格式的文件+网络转发输出(尤其适用于嵌入式linux无界面程序,现场不方便外接调试打印的设备)。 做过的这么多项目中,Qt4和Qt5的都有,我一般保留四个版本,4.8.7,为了兼容qt4, 5.7.0,最后的支持XP的版本, 最新的长期支持版本5.9.7 最高的新版本5.12。毫无疑问,我要封装的这个日志类,也要支持4+5的,而且提供友好的接口。 1:支持动态启动和停止。 2:支持日志存储的目录。 3:支持网络发出打印日志。 4:支持Qt4+Qt5。开箱即用。 5:支持多线程。

2019-03-10

Qt编写串口调试工具V2018

基本功能: 1:支持16进制数据发送与接收。 2:支持windows下COM9以上的串口通信。 3:实时显示收发数据字节大小以及串口状态。 4:支持任意qt版本,亲测4.7.0 4.8.5 4.8.7 5.4.1 5.7.0 5.8.0。 5:支持串口转网络数据收发。 高级功能: 1:可自由管理需要发送的数据,每次只要从下拉框中选择数据即可,无需重新输入数据。 2:可模拟设备回复数据,需要在主界面开启模拟设备回复数据。当接收到设置好的指令时,立即回复设置的回复指令。例如指定收到0x16 0x00 0xFF 0x01需要回复0x16 0x00 0xFE 0x01,则只需要在SendData.txt中添加一条数据16 00 FF 01:16 00 FE 01即可。 3:可定时发送数据和保存数据到文本文件:,默认间隔5秒钟,可更改间隔时间。 4:在不断接收到大量数据时,可以暂停显示数据来查看具体数据,后台依然接收数据但不处理,无需关闭串口来查看已接收到的数据。 5:每次收到的数据都是完整的一条数据,而不是脱节的,做了延时处理。 6:一套源码随处编译,无需更改串口通信类,已在XP/WIN7/UBUNTU/ARMLINUX系统下成功编译并运行。

2019-03-12

Qt编写echart仪表盘JS交互程序支持webkit和webengine(开源)

Qt编写echart仪表盘JS交互程序,同时支持webkit和webengine。编译完成后记得将源码下file文件夹下的所有文件复制到可执行文件同一目录即可。

2019-03-17

Qt编写的数据库分页demo

Qt编写的数据库分页demo,支持上一页下一页第一页末一页切换,实时显示当前页信息,支持千万级数据量。

2018-09-08

Qt编写GIF录屏工具

在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基本上都支持gif动图,一般一个5秒左右的gif,800*600分辨率,可以很好的控制在500KB内,这样就比较完美的支持各大网站上传动图。 最开始使用的是ScreenGif.exe,用了很久,感觉还可以,后面一个朋友推荐用LICEcap.exe,体积更小,压缩比更高,再到后来发现有个gif.h开源的类,调用其中的方法可以实现将多张图片合并到一张gif中去,而且还是跨平台的,本人亲自在WIN+UBUNTU测试成功。 最初的代码是倪大侠给的,我在此基础上重新完善了下,使得可以直接拖动窗体大小来改变录屏区域的大小。 完整源码下载: 1:可设置要录制屏幕的宽高,支持右下角直接拉动改变. 2:可设置变宽的宽度 3:可设置录屏控件的背景颜色 4:可设置录制的帧数 5:录制区域可自由拖动选择

2019-04-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除