首页| 论坛| 消息

标题:Qt/C++原创项目作品精选(祖传原创/性能凶残)
作者:liudianwu
日期:2023-07-09 13:13
内容:

## 00 前言说明
从事Qt开发十年有余,一开始是做C#.NET开发的,因为项目需要,转行做嵌入式linux开发,在嵌入式linux上做可视化界面开发一般首选Qt,当然现在可选的方案很多比如安卓,但是十多年前那时候板子性能低,安卓在这个上面跑的话卡成屎,当时的内存大概是128MB左右,Qt也是主要用QWidget,刚出来的qml在这个上面跑个最简单的示例也是卡成屎,这也造成了本人一直对qml的印象不大好,非常依赖GPU硬件。所以也一直没有怎么去学习qml,主要深耕在qwidget领域,现在想学的时候,心有余而力不足,包括现在从qmake转向cmake,年纪大了学不动了,哎年轻真好。
学习Qt也是一个渐进的过程,量变产生质变,一点一滴积累,谁都不可能一蹴而就的,在编程的这条路上其实是很孤独的,要能学会左手温暖右手。别看我QtWidget水平比很多人高一点,其实全国也就几万名开外,你们是不知道天外有天,人外有人!应该到处走走,不要坐井观天!因为我遇到过几十个水平比我厉害的多了去了的,这还仅仅是冰山一角!真正的大佬一般不混群也不混论坛的,低调得很!可能这就是所谓的闷声发大财。此情此景我想吟诗一首:误入IT悔无声,单枪匹马夜挑灯,一入Qt深似海,从此脂粉不沾身。此情此景我想再吟诗一首:Qt群里行人稀,常有车手较高低,如今车道依旧在,不见当年老司机。
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人主页:[https://blog.csdn.net/feiyangqingyun](https://blog.csdn.net/feiyangqingyun)
## 01 可视化大屏电子看板系统
1. 采用分层设计,整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。
2. 子控件包括饼图、圆环图、曲线图、柱状图、柱状分组图、横向柱状图、横向柱状分组图、合格率控件、百分比控件、进度控件、设备状态面板、表格数据、地图控件、视频控件等。
3. 二级界面可以自由拖动悬浮,支持最小化隐藏、最大化关闭、响应双击自定义标题栏。
4. 数据源支持模拟数据(默认)、数据库采集、串口通信(需定制)、网络通信(需定制)、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。
5. 采用纯QWidget编写,亲测Qt4.6到Qt6.6任意版本,理论上支持后续其他Qt版本。
6. 超强跨平台,亲测windows、linux、mac、 ..


#1 [liudianwu 07-09 13:14]
## 06 视频监控Onvif综合示例
1. 广播搜索设备,支持IPC和NVR,依次返回。
2. 可选择不同的网卡IP进行对应网段设备的搜索。
3. 依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。
4. 可对指定的Profile获取视频流Rtsp地址,比如主码流地址、子码流地址。
5. 可对每个设备设置Onvif用户信息,用于认证获取详细信息。
6. 可实时预览摄像机图像。
7. 支持云台控制,可上下左右调节云台,支持绝对移动、相对移动、连续移动三种方式,可对图像拉近拉远。
8. 支持获取预置位集合、调用预置位、添加预置位、删除预置位等。
9. 支持图片参数设置,包括亮度、对比度、饱和度、锐度等。
10. 支持Qt4和Qt6任意Qt版本以及后续Qt版本,亲测Qt4.7到Qt6.5。
11. 支持任意编译器,亲测mingw、msvc、gcc、clang。
12. 支持任意操作系统,亲测xp、win7、win10、android、linux、嵌入式linux、树莓派全志H3等。
13. 支持任意Onvif摄像机和NVR,亲测海康、大华、宇视、天地伟业、华为、海思芯片内核等,可定制开发。
14. 支持对指定IP地址及onvif地址进行单播搜索,比如跨网段情况下非常有用。
15. 支持指定过滤条件过滤搜索设备,比如只搜索某个网段的设备或者针对某个地址的设备。
16. 支持搜索间隔和搜索策略设置,保证所有设备搜索回来,在大量设备现场很有用(亲测上千个摄像机现场,搜索回来的设备数量比摄像机厂家自带搜索工具还要准确)。
17. 可对设备进行重启、网络参数获取等。
18. 支持各种事件订阅(入侵报警、越界报警、遮挡报警等)、Onvif抓图等操作。
19. 支持NTP校时和时间同步设置。
20. 支持OSD相关操作,可以增删改查OSD信息。
21. 内置了线程实时执行Onvif指令队列,排队最大速度的执行对应的指令,执行结果信号发出。
22. 采用的最底层的TCP+UDP通信机制,原创最底层协议解析,纯QtWidget编写。
23. 超级小巧轻量,总共约3000行代码,不依赖任何第三方的库和组件,跨平台。
24. 封装好了通用的数据发送和接收解析的函数,可以非常方便的自行拓展其他Onvif处理。
25. 工具上提供了收发数据文本框,显示收发的数据,方便查看和分析。
26. 支持所有Onvif设备,代码工整,接口友好,直接引入pri即可使用。

## 07 视频综合应用示例
### 7.1 基础功能
1. 支持各种音频视频文件格式,比如mp3、wav、mp4、asf、rm、rmvb、mkv等。
2. 支持本地摄像头设备,可指定分辨率、帧率。
3. 支持各种视频流格式,比如rtp、rtsp、rtmp、htt ..
#2 [liudianwu 07-09 13:15]
## 11 地图综合应用示例
### 11.1 省市区域地图
1. 同时支持闪烁点图、迁徙图、区域地图、世界地图、仪表盘等。
2. 可以设置标题、提示信息、背景颜色、文字颜色、线条颜色、区域颜色等各种颜色。
3. 可设置城市的名称、值、经纬度 集合。
4. 可设置地图的放大倍数、是否允许鼠标滚轮缩放。
5. 内置世界地图、全国地图、省份地图、地区地图,可以精确到县,所有地图全部离线使用。
6. 内置了各省市json数据文件转js文件功能,如有数据更新自行转换即可,支持单个文件转换和一键转换所有文件。
7. 内置了从json文件或者js文件获取该区域的所有名称和经纬度信息集合的功能,可以通过该方法获取到信息用来显示。
8. 依赖浏览器组件显示地图,提供的demo支持webkit/webengine/miniblink/ie 多种方式加载网页。
9. 采用miniblink浏览器内核打通了Qt5.6及后续版本+mingw编译器缺少浏览器模块的遗憾,使得整个项目支持所有Qt版本,亲测4.7到5.15等任意版本。
10. 闪烁点迁徙图等设置的点支持单独设置颜色。
11. 提供接口直接获取点击的点相关信息,方便程序联动处理。
12. 拓展性极强,可以依葫芦画瓢自行增加各种精美的echarts组件,做出牛逼的效果。
13. 内置的仪表盘组件提供交互功能,demo演示中包含了对应的代码。
14. 函数接口友好和统一,使用简单方便,就一个类。
15. 支持任意Qt版本、任意系统、任意编译器。

### 11.2 百度地图
1. 同时支持在线地图和离线地图两种模式。
2. 同时支持webkit内核、webengine内核、miniblink内核、IE内核。
3. 支持设置多个标注点,信息包括名称、地址、经纬度。
4. 可设置地图是否可单击、拖动、鼠标滚轮缩放。
5. 可设置协议版本、秘钥、主题样式、中心坐标、中心城市、地理编码位置等。
6. 可设置地图缩放比例和级别,缩略图、比例尺、路况信息等控件的可见。
7. 支持地图交互,比如鼠标按下获取对应位置的经纬度。
8. 支持查询路线,可设置起点位置、终点位置、路线模式、路线方式、路线方案(最少时间、最少换乘、最少步行、不乘地铁、最短距离、避开高速)。
9. 可显示点线面工具,可直接在地图上划线、点、矩形、圆形等。
10. 可设置行政区划,指定某个城市区域绘制图层,在线地图自动输出行政区划边界点集合到js文件给离线地图使用。
11. 可静态或者动态添加多个覆盖物。支持点、折线、多边形、矩形、圆形、弧线、点聚合等。
12. 提供函数接口处理经纬度解析成地址和地址解析成经纬度坐标。
13. 提供的demo ..
#3 [tanyue.esec 07-09 15:09]
不得了不得了,得多长时间才能积累这么多
#4 [lwei24 07-10 10:31]
好诗好诗
#5 [uidab 07-10 11:53]
膜拜 祖传啊

<< 1 2 >> (1/2)

回复 发表
主题 版块