Qt编写网络中转服务器(开源)
需求
1:手机端或者其他端可以对设备进行回控,并查看设备各种运行状态,接收报警推送等。
2:同时支持在局域网、广域网、互联网访问,尤其是互联网访问。
3:权限控制,给定账号控制授权的设备,并自动拉取设备信息。
4:设备不在线要给出反馈信息提示以便分析。
5:每个连接都有自己的唯一编号作为标识符。
6:可以方便的拓展为微信接入+小程序接入+web接入。
Qt编写视频监控画面分割界面
Qt编写视频监控画面分割界面,支持四画面+六画面+八画面+九画面+十六画面,鼠标右键菜单切换。
QSS样式表之PS黑色风格+白色风格+淡蓝色风格
QSS样式表之高仿PS黑色风格+白色风格+淡蓝色风格,个人最喜爱的淡蓝色风格,相当精美!
Qt仿win7自动顶部最大化左侧右侧半屏效果
在Qt中,如果是无边框窗体,(有边框窗体和操作系统窗体效果一致)并没有相关的API接口来实现这个效果,必须自己写代码来模拟这个效果,原理很简单,绑定事件过滤器,自动计算当前无边框窗体的位置和鼠标按下去的坐标,当到达顶部或者左侧右侧时,自动设置该窗体的geometry即可。
Qt实现的FlatUI样式
对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反而没有扁平化来得亲切。
Flat UI是基于Bootstrap之上进行二次开发的扁平化前端框架,他提供了动感、时尚的风格色调搭配,简洁、炫丽的功能组件,同时还提供了更为平滑的js交互动画,可以称得上前端扁平化设计框架的优秀代表之一。
既然是扁平化设计框架的优秀代表,当然需要在自己项目中应用应用,Qt中的qss机制,和css极为相似,感觉就是脱胎于css,用qss来实现Qt界面样式不是一般的方便,而是相当的爽,在看到FlatUI这样的精美的扁平化设计样式后,难以抑制手痒痒,就想用qss实现类似的风格。
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();即可。整个工程都可以用。
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();即可。整个工程都可以用。
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();即可。整个工程都可以用。
VM6000可执行文件
QT开发之旅五视频监管平台可执行文件,项目需求:某区下面有几百所学校,每个学校都有若干台NVR或者DVR,每台NVR和DVR都挂接着N个IPC(摄像机)(包括网络摄像机和模拟摄像机),现在需要对所有学校的监控进行查看以及回放和轮询,能够对指定学校进行视频监控,对所有学校的视重点部位视频进行查看轮询,可自定义轮询时间等。
开发过程:本着尽量追求简洁的要求,最终编写了如上图的主界面。没有采用QT自带的界面,而是重写了界面,自定义无边框拖动,自由换肤,全部采用QSS控制,本人从官网http://qt-project.org/doc/qt-4.8/stylesheet-examples.html彻底学习了下QSS的规则,整理了一套通用的换肤方案。
VISTA128主机调试工具
VISTA128主机调试工具,通过串口与主机通信,可以识别主机布防撤防/防区故障恢复旁路等状态信息,调试可以通过串口回控主机进行布防撤防操作.本工具在官方软件上破解协议编写而成.
QT自定义精美换肤界面
陆陆续续用QT开发过很多项目,也用QT写过不少私活项目,也写过N个工具,一直梦寐以求能像VC一样可以很方便的有个自定义的界面,QSS的强大让我看到了很好的希望。
特点:
1:无边框窗体,自定义标题栏,鼠标拖动,大小缩放,双击切换。
2:除了少量的几个图片资源外,几乎使用QSS写完所有颜色样式控制。
3:自定义一个QMessageBox对话框,自动换行显示提示信息,可以很方便的调用。
4:使用fontawesome图形字体库,将互联网的优秀资源应用于QT中。
5:彻底公开源码,可以任意随意使用。
6:QT各个版本都可以编译通过,亲测无误。
7:自带提供了四种样式黑色、蓝色、灰色、天蓝色风格供选择,可以自由更改image文件夹下的样式,也可以自己增加一些样式。
QT实现自定义UI-精美标题栏支持最小化最大化关闭鼠标拖动改变大小
1:真正意义上的无边框自定义标题栏,支持最小化最大化关闭,支持标题栏双击实现,支持鼠标拖动,支持鼠标在边框处拖动改变窗体大小,网络上的绝大部分都是扯蛋,要么不支持鼠标改变界面大小,要么鼠标移到其它按钮界面瞬间移动等各种不理想状态。
2:无任何资源文件,纯QSS实现精美标题栏及自定义按钮样式,可以稍作修改增加更多的样式,QSS真是太强大了!
3:使用fontawesome-webfont.ttf字体文件实现最小化最大化关闭等按钮文字,图形文字,很好很强大!
4:提供16种各类曲线啥线的绘制,只需点击一下按钮即可切换观看效果!
5:主窗体界面与功能界面分离,注释两行代码即可。
6:代码最精简,可免费用于任何项目!
7:感谢网络上各种共享资源。
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下是可以完整编译 [更多]
镜头焦距计算工具VB源码
镜头焦距计算工具VB源码,简单,值得学习!
镜头/硬盘测算工具
镜头/硬盘测算工具,根据物宽物高和物距计算镜头大小,根据码流计算硬盘存储大小
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 [更多]
qt+mingw32+windows+ffmpeg+rtsp保证编译可用
1:此示例只是用来显示视频流,并没有处理存储视频及回放视频功能.
2:在打开项目后务必将构建里面的影子构建(Shadow build)取消.
3:实时显示视频,视频响应速度比VLC,QTAV等播放器快很多倍.
4:精简代码,在windows下是可以完整编译通过并运行的.linux下要将对应ffmpeg库文件替换.
5:支持三通道同步显示一个视频流,可以单击截图按钮截图放在最后一个通道.
6: 支持单个通道双击最大化显示.
7:代码处理并不够完整,还有很多需要优化的地方.
QT c++ 编写的DS7400主机调试工具
开发环境:qt
语言:c++
功能:实现了ds7400主机的布防撤防报警旁路等信号的识别。
QT C++ 编写的VISTA报警主机调试工具
开发环境:QT
语言:c++
功能:实现了对VISTA系列报警主机的布防撤防虚拟键盘控制,并能识别各种布防撤防防区报警信号。
DS7400报警主机调试工具
可以接收DS7400主机的布防撤防报警信号,识别电池低压低等故障信息。
VISTA报警主机调试工具
很好用的VISTA系列报警主机调试工具,支持回控主机,实时显示主机状态等。
QT编写的邮件发送工具可执行文件
项目名称:邮件发送工具
开发环境:XP+QT4.7+QT CREATOR2.8+MINGW
已编译通过测试平台:XP、Win7、ubuntu、tiny210、TE6410
技术实现:通过socket通信实现smtp协议,根据应答解析协议并作出处理发送邮件
基本功能:
1:支持主流邮箱例如163邮箱QQ邮箱的发送。
2:支持富文本发送,可以发送带有HTML格式的文本。
3:支持多个附件发送,附件可以是图片。
监控国标GB28181/实时视频/云台控制/预置位/录像回放和下载/事件订阅/语音对讲
项目介绍 https://qtchina.blog.csdn.net/article/details/107972151
Qt物联网组件/多线程采集/modbus/mqtt/高并发/跨平台
https://qtchina.blog.csdn.net/article/details/103945421
Qt视频监控Onvif组件/组播搜素/云台预置位/OSD/显示视频/onvif搜索工具/云台控制
https://qtchina.blog.csdn.net/article/details/104005731
Qt帧同步播放器/本地多窗口拼接同步/远程同步/8K16K分辨率/硬解码
详细介绍 https://qtchina.blog.csdn.net/article/details/103947479
Qt推流综合应用/监控推流/文件推流/桌面推流/极低延迟/各种协议
详细介绍 https://qtchina.blog.csdn.net/article/details/104790588
Qt视频监控系统/onvif搜索/云台预置位/录像存储回放/支持海康大华宇视华为天地伟业等所有厂家
**在线文档:[http://www.qtcdev.com/video_system/](http://www.qtcdev.com/video_system/)**
## 一、功能特点
### 0.6.1 软件模块
1. 视频监控模块,各种停靠小窗体子模块,包括设备列表、图文警情、窗口信息、云台控制、预置巡航、视频轮询、设备控制、悬浮地图、网页浏览等。
2. 视频回放模块,包括本地回放、网络回放、远程回放、图片回放、视频上传等。
3. 电子地图模块,包括图片地图、设备地图、设备移动、轨迹回放等。
4. 日志查询模块,包括本地日志、设备日志等。
5. 系统设置模块,包括系统设置(基本设置、视频参数、数据库设置、颜色配置、功能激活等)、录像机管理、摄像机管理、轮询配置、录像计划、用户管理、其他设置等。
天地图离线api完整包,支持官网所有的操作,包括轨迹移动等
天地图离线api完整包,支持官网所有的操作,包括轨迹移动等。花了很久的时间才从官网爬下来的,完全离线使用,只需要瓦片地图文件放入对应目录即可。
Qt/C++编写的带频谱的音乐播放器
1. 可获取整个声音文件采样值数据
2. 可实时获取当前播放位置的采样值数据
3. 可设置采样的步长和数量
4. 可开始播放/暂停播放/停止播放
5. 多线程处理,超流畅
6. 可设置当前播放位置
7. 可设置和调节音量
8. 支持任意Qt版本及mingw和msvc编译器,包括32位和64位
Qt编写GIF录屏工具
在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基本上都支持gif动图,一般一个5秒左右的gif,800*600分辨率,可以很好的控制在500KB内,这样就比较完美的支持各大网站上传动图。
最开始使用的是ScreenGif.exe,用了很久,感觉还可以,后面一个朋友推荐用LICEcap.exe,体积更小,压缩比更高,再到后来发现有个gif.h开源的类,调用其中的方法可以实现将多张图片合并到一张gif中去,而且还是跨平台的,本人亲自在WIN+UBUNTU测试成功。
最初的代码是倪大侠给的,我在此基础上重新完善了下,使得可以直接拖动窗体大小来改变录屏区域的大小。
完整源码下载:
1:可设置要录制屏幕的宽高,支持右下角直接拉动改变.
2:可设置变宽的宽度
3:可设置录屏控件的背景颜色
4:可设置录制的帧数
5:录制区域可自由拖动选择
Qt编写echart仪表盘JS交互程序支持webkit和webengine(开源)
Qt编写echart仪表盘JS交互程序,同时支持webkit和webengine。编译完成后记得将源码下file文件夹下的所有文件复制到可执行文件同一目录即可。
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系统下成功编译并运行。
Qt编写软件运行时间记录(开源)
在早期开发的软件中,尤其是初学者入门者写的软件,软件运行久了,难免遇到意外崩溃的时候,可是大部分的运行设备可能在现场客户那,需要记住每一次从软件启动后到软件意外关闭前的运行时间,需要记录的信息包括:编号+开始时间+结束时间+已运行时间,每次完整的运行过程只产生一条记录,每次运行时间改变以后更新当前这条记录即可。这样就可以确切的了解到软件在现场的真实运行情况是否糟糕,如果没有这个记录(当然可以选择记录存储到数据库),程序又重启恢复了,也不知道到底每次运行了多久,从几点到几点。
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:支持多线程。
Qt编写守护进程
没有任何人敢保证自己写的程序没有任何BUG,尤其是在商业项目中,程序量越大,复杂度越高,出错的概率越大,尤其是现场环境千差万别,和当初本地电脑测试环境很可能不一样,有很多特殊情况没有考虑到,如果需要保证程序7*24小时运行,则需要想一些办法能够让程序死了能够活过来,在嵌入式linux上,大部分会采用看门狗的形式来处理,程序打开看门狗驱动后,定时喂狗,一旦超过规定的时间,则硬件软复位等。这种方式相对来说比较可靠,如果需要在普通PC机上运行怎办呢?本篇文章提供一个软件实现守护进程的办法,原理就是udp通信,单独写个守护进程程序,专门负责检测主程序是否存在,不存在则启动。主程序只需要启动live类监听端口,收到hello就回复ok就行。
为了使得兼容任意程序,特意提炼出来共性,增加了多种设置。
1:可设置检测的程序名称。
2:可设置udp通信端口。
3:可设置超时次数。
4:自动记录已重启次数。
5:自动记录最后一次重启时间。
6:是否需要重新刷新桌面。
7:可重置当前重启次数和最后重启时间。
8:自动隐藏的托盘运行或者后台运行。
9:提供界面设置程序名称已经开启和暂停服务。
Qt编写密钥生成器+使用demo
在很多商业软件中,需要提供一些可以试运行的版本,这样就需要配套密钥机制来控制,纵观大部分的试用版软件,基本上采用以下几种机制来控制。
1:远程联网激活,每次启动都联网查看使用时间等,这种方法最完美,缺点是没法联网的设备就歇菜了。
2:通过获取本地的硬盘+CPU等硬件的编号,做一个运算,生成一个激活码,超过半数的软件会采用此方法,缺点是不能自由控制软件的其他参数,比如软件中添加的设备数量的控制。
3:设定一个运行到期时间+数量限制+已运行时间的密钥文件,发给用户配套软件使用,缺点是如果仅仅设置的是运行到期时间,用户可以更改电脑时间来获取更长的使用时间,在电脑不联网的情况下。
本demo采用抛砖引玉的形式,用第三种方法来实现,密钥文件采用最简单的异或加密,可以自行改成其他加密方法。
Qt编写的数据库分页demo
Qt编写的数据库分页demo,支持上一页下一页第一页末一页切换,实时显示当前页信息,支持千万级数据量。
Qt编写可拖动对象+背景地图+多种样式+多种状态
在很多项目应用中,需要根据数据动态生成对象显示在地图上,比如地图标注,同时还需要可拖动对象到指定位置显示,能有多种状态指示,为此特意编写本控件,全部开源出来,欢迎大家提建议。
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客户端。