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

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

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

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

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

2023-07-09 12:09:52 16668 19

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

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

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

原创 Qt/C++项目作品大全(性能凶残/祖传原创/界面精美/跨平台)

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

2021-01-20 18:37:22 154853 77

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

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

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

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

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

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

原创 Qt/C++音视频开发78-获取本地摄像头支持的分辨率/帧率/格式等信息/mjpeg/yuyv/h264

上一篇文章讲到用ffmpeg命令方式执行打印到日志输出,可以拿到本地摄像头设备信息,顺藤摸瓜,发现可以通过执行 ffmpeg -f dshow -list_options true -i video=“Webcam” 命令获取指定摄像头设备的分辨率帧率格式等信息,会有很多条。那为什么需要这个功能呢?现场大量应用下来,尽管提供了本地摄像头设备下拉框选择,但是还需要设置分辨率帧率等,因为有时候需要以1080P分辨率采集设备,有时候仅仅需要640P分辨率采集即可,那怎么知道设备支持哪些分辨率呢?

2024-07-07 09:15:52 1138

原创 Qt/C++编写地图应用/离线地图下载/路径规划/轨迹回放/海量点/坐标转换

这个地图组件写了很多年了,最初设计的不叫粗糙,最开始只是为了满足项目需要,并没有考虑太多拓展性,比如最初都是按照百度地图写死在代码中,经过这几年大量的现场实际应用,以及大量的用户提出的改进意见,逐渐萌生了彻底重新编写对应地图相关的代码,比如基类子类的设计,各种功能接口通过js函数交互,而不是一堆代码写在网页中。

2024-07-03 08:51:15 1293 2

原创 Qt/C++开发经验小技巧296-300

现在现在新版的Qt都是需要在线下载,有时候下载到中途过程会遇到提示下载错误,很可能是部分插件模块对应服务器没有打包导致的,一般都是一些末尾带TP字样的模块,这些模块一般也不会用,所以如果想要安装成功,你需要到选择Qt版本和插件的地方,打开Additional Libraries节点,将那些用不上的尤其是TP结尾的都不勾选,再安装即可。

2024-07-02 12:39:20 646

原创 Qt/C++音视频开发77-获取本地有哪些摄像头名称/ffmpeg命令日志方式

上一篇文章讲使用ffmpeg函数接口去获取本地摄像头信息,这种方式只能从ffmpeg5版本开始才具备,那ffmpeg3/4只能干瞪眼?

2024-06-16 13:12:46 1170

原创 Qt/C++音视频开发76-获取本地有哪些摄像头名称/ffmpeg内置函数方式

上一篇文章是写的用Qt的内置函数方式获取本地摄像头名称集合,但是有几个缺点,比如要求Qt5,或者至少要求安装了多媒体组件multimedia,如果没有安装呢,或者安装的是个空的呢,比如很多嵌入式板子,就算有multimedia组件,也是个空壳子,根本没有实际的功能,本身multimedia组件也是依赖具体底层多媒体实现的,依赖操作系统,如果编译Qt的时候没有识别到对应操作系统的组件,则只是编译个空壳子,并不会有实际的功能,你调用对应的函数后也是空的,返回的都是空值。

2024-06-04 11:51:59 1163

原创 Qt/C++音视频开发75-获取本地有哪些摄像头名称/Qt内置函数方式

在需要打开本地摄像头的场景中,有个需求绕不开,那就是如何获取本地有哪些摄像头设备名称,这样可以提供下拉框给用户选择,不然你让用户去填设备名,你觉得用户会知道是啥,他会操作吗?就算你提供了详细的查看步骤,估计也很难,如果用户是程序员还好,如果是电脑小白,鼠标都用不好,你还让他去找摄像头设备的名称,那比他登上华山还要难。所以如何提供人性化的操作方式,迫在眉睫。这个也是本人在遇到无数现场环境后,总计出来的。

2024-05-27 08:59:37 1187

原创 Qt/C++音视频开发74-合并标签图形/生成yolo运算结果图形/文字和图形合并成一个/水印滤镜

在使用yolo做人工智能运算后,运算结果除了一个方框,还可能需要增加文字显示在对应方框上,以便标记是何种物体,比如显示是人还是动物,或者还有可能追踪人员,显示该人员的姓名。这种应用场景非常普遍,而且非常有必要,可以非常直观的直接看到对应移动的物体是什么。当然也有个缺点,就是当图层方框特别多的时候,看起来层叠的,意味着会发生遮挡的情况,导致在同一个区域只能同时看到一个物体,如果有密集恐惧症那就更加麻烦。

2024-05-18 09:46:50 1149

原创 Qt/C++音视频开发73-高效滤镜/文字水印/图形水印/图片水印/yolo运算后的结果显示到画面中

视频监控系统发展到今天,越来越智能,比如这些年流行的人脸识别、物体识别、烟感识别等,都是需要拿到图片数据去做运算处理,然后将结果显示到视频画面中,或者还有要求将结果保存到视频录像文件中,以便打开回放查看。显示到画面中一般有两种方式,一种是通过滤镜的方式直接写入到图片视频数据中,一种是直接用opengl绘制,如果是滤镜方式,则占用比较大的CPU,如果分辨率大占用更多,毕竟需要将完整的一帧视频数据全部更新,应用新的文字水印和图形水印。

2024-05-10 09:53:01 1292

原创 Qt/C++音视频开发72-倍速推流/音视频同步倍速推流/不改变帧率和采样率/低倍速和高倍速

最近多了个新需求,需要倍速推流,推流界的扛把子obs也有倍速推流功能,最高支持到两倍速。这里所说的倍速,当然只限定在文件,只有文件才可能有倍速功能,因为也只有文件才能倍速解码播放。实时视频流是不可能倍速的,因为没有时长,有时长的才可以按照播放进度来。是否是文件也不能通过是不是本地文件等来判断,以为很多http/rtsp/m3u8等也可能是文件,具体最终的判断依据应该是有没有时长,能不能获取到时长,能获取到的就说明是文件。

2024-05-05 13:34:19 1063

原创 Qt/C++音视频开发71-指定mjpeg/h264格式采集本地摄像头/存储文件到mp4/设备推流/采集推流

用ffmpeg采集本地摄像头,如果不指定格式的话,默认小分辨率比如640x480使用rawvideo格式,大分辨率比如1280x720使用mjpeg格式,当然前提是这个摄像头设备要支持这些格式。目前市面上有一些厂家做的本地设备支持264格式,这个压缩率极高,由于采集到的就是264格式的裸流,所以不用编码就可以正常保存到文件以及推流,这就非常方便了,不像之前的摄像头都是mjpeg为主,都需要用SwsContext进行转换。

2024-04-25 09:04:08 1090 1

原创 Qt/C++音视频开发70-无感切换通道/无缝切换播放视频/多通道流畅切换/不同视频打开无缝切换

用ffmpeg做音视频保存到mp4文件,都会遇到一个问题,尤其是在视频监控行业,就是监控摄像头设置的音频是PCM/G711A/G711U,解码后对应的格式是pcm_s16be/pcm_alaw/pcm_mulaw,将这个原始的音频流保存到mp4文件是会报错的,在调用avformat_write_header写文件头的时候提示(-22) Invalid argument,非法的参数,翻阅源码得知,ffmpeg中的mp4封装并不支持pcma和pcmu,除非手动更改源码加入。

2024-04-18 09:43:06 953 2

原创 Qt/C++推流组件使用说明

勾选对应的模块,重启后会显示对应的模块在主界面中,重启应用。这个功能主要是为了方便有些用户希望简单点,不需要的模块就不要在界面上显示。

2024-04-09 09:45:18 1147 1

原创 Qt血的教训/细数Qt开发的各种坑/又爱又恨/欢迎围观留言评论

搞Qt开发十几年了,最初从Qt4.6开始,一直追新到现在的6.7版本,中间经历过无数的血的教训,简直是又爱又恨。其实Qt挺好的,但是还是要忍不住吐槽一下,本人还是希望Qt发展的越来越好,这样我的饭碗就能保住了。

2024-04-07 10:30:46 1464 1

原创 Qt程序员必看/关于Qt收费的官方答复

5.订阅模式购买的商业版本,后续没有继续购买,是否影响后续商业产品的的销售和软件开源协议的变化?2.Qt5和Qt6额外提供了哪些开源版本没有提供的模块?3.商业版本的Qt是否提供最新版本的离线安装包?4.商业授权版本具体报价?

2024-04-02 08:17:18 2279 3

原创 Qt/C++入门基础学习001-绘图基础

这一节介绍 Qt 的绘图基础知识,我们都知道,Qt 里绘图使用的是 QPainter,但是首先需要弄明白:在什么上绘图和在哪里绘图,然后才是怎么绘图,我们就围绕这几个问题来展开。

2024-04-01 09:20:21 1170 1

原创 这可能是国内Qt/C++界最受欢迎开源项目之一/5.8Kstar/持续迭代更新

本项目大概在2020年开始的,大概在2022年重写了一遍,主要是分门别类存放。本项目主要是QWidget编写的一些开源的demo,支持Qt4、Qt5、Qt6,支持任意系统,预计会有100多个,一直持续更新完善,代码简洁易懂注释详细,每个都是独立项目,非常适合初学者,代码随意传播使用。不仅有界面UI相关,还有串口网络通信组件比如串口调试助手、网络调试助手等。这不是关键,关键是一直在持续更新迭代和新增。这应该也是受欢迎程序这么高的主要原因。

2024-03-25 14:25:03 1007

原创 Qt/C++通用跨平台Onvif工具/支持海康大华宇视华为天地伟业等/云台控制/预置位管理/工程调试利器

在安防视频监控行业,Onvif作为国际标准,几乎主要的厂商都支持,不仅包含了国内的厂商,也包括主要的国际厂商,由于有了这个标准的存在,使得不同设备不同安防平台之间,能够接入各个厂家的硬件设备,互通有无,你中有我我中有你,实现良性竞争。ONVIF是一个全球性的开放式行业协议,其目标是促进开发和使用基于物理IP的安全产品接口的全球开放标准。ONVIF创建了一个视频监控和其他物理安全领域的IP产品如何进行相互通信的标准。

2024-03-23 10:22:11 1268

原创 qt+ffmpeg开发经验技巧

ffmpeg的库有链接顺序要求,如果不按照顺序来,也许在windows上没有问题,但是到了unix系统很可能有问题,报错提示云里雾里的找不到原因。顺序参照ffmpeg自带示例中的编译链接顺序即可。正确顺序是 LIBS += -L/ -lavformat -lavfilter -lavcodec -lswresample -lswscale -lavutil -lavdevice 。不是所有的库都是必须的,比如avdevice库,如果代码中没用上也没引用,可以不需要。ffmpeg解码中,av_find_b

2024-03-20 14:10:56 1060

原创 Qt/C++监控推流设备推流/延迟极低/实时性极高/rtsp/rtmp推流/hls/flv/webrtc拉流/调整分辨率降低带宽

算下来这个推流的项目作品写了有四年多了,最初第一个版本只有文件点播的功能,用的纯QTcpSocket通信实现,属于比较简单的功能。由于文件点播只支持文件形式的推流,不支持网络流或者本地设备采集,所以迫切需要打破这个瓶颈,而后加入核心的网络推流功能,这也是本项目的核心功能,不仅支持各种各样的流媒体服务,推流这块支持文件、网络音视频流、本地设备采集、本地桌面采集。自定义各种参数,视音频同步推流等,不断的迭代和完善。

2024-03-17 10:13:39 2115 1

原创 Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/aac/pcm等

用ffmpeg做音视频保存到mp4文件,都会遇到一个问题,尤其是在视频监控行业,就是监控摄像头设置的音频是PCM/G711A/G711U,解码后对应的格式是pcm_s16be/pcm_alaw/pcm_mulaw,将这个原始的音频流保存到mp4文件是会报错的,在调用avformat_write_header写文件头的时候提示(-22) Invalid argument,非法的参数,翻阅源码得知,ffmpeg中的mp4封装并不支持pcma和pcmu,除非手动更改源码加入。

2024-03-12 08:46:47 1455

原创 Qt/C++音视频开发68-检查是否含有B帧/转码推流/拉流显示/监控拉流推流/海康大华宇视监控

为什么需要判断视频文件是否含有B帧,这个在推流的时候很容易遇到这个问题,一般来说,没有B帧的视频文件,解码后的数据帧pts和dts都是顺序递增的,而有B帧的则未必,可能有些需要先解码后面显示,B帧也是双向预测图像B,对它的编码,即是对它前后帧的像素值之差进行编码,B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累。

2024-03-07 09:07:16 1208

原创 Qt/C++音视频开发67-保存裸流加入sps/pps信息/支持264/265裸流/转码保存/拉流推流

音视频组件除了支持保存MP4文件外,同时还支持保存裸流即264/265文件,以及解码后最原始的yuv文件。在实际使用过程中,会发现部分视频文件保存的裸流文件,并不能直接用播放器播放,查阅资料得知原来是缺少sps/pps信息,监控行业的rtsp/rtmp/录像mp4文件都是会带的,所以很少遇到这个现象。

2024-03-03 08:44:23 1336

原创 Qt/C++音视频开发66-音频变速不变调/重采样/提高音量/变速变调/倍速播放/sonic库使用

之前在做倍速这个功能的时候,发现快速播放会有滴滴滴的破音出现,正常1倍速没有这个问题,尽管这个破音间隔很短,要放大音量才能听到,但是总归是不完美的,后面发现,通过修改qaudiooutput的采样率,可以规避这个问题,破音不在出现了,但是音调变了,倍速越大变得越快,人声越发不清晰,变得尖锐,也就是通常说的变速变调了。当然这是正常现象,所有搞音视频播放开发者都会遇到这个现象,因为这就是默认的正常现象,但是我们希望听到的是变速不变调,速度可以快,但是要尽量保持人声能够识别。

2024-02-03 09:28:14 1488

原创 Qt/C++音视频开发65-切换声卡/选择音频输出设备/播放到不同的声音设备/声卡下拉框

近期收到一个用户需求,要求音视频组件能够切换声卡,首先要在vlc上实现,于是马不停蹄的研究起来,马上查阅对应vlc有没有自带的api接口,查看接口前,先打开vlc播放器,看下能不能切换,因为不是所有播放器都有这个功能,试了下vlc当然是可以的,这个是最基本的前提,如果连播放器本身都没有,那就很悬了。

2024-02-01 10:19:03 1280 1

原创 Qt/C++音视频开发64-共享解码线程/重复利用解码/极低CPU占用/画面同步/进度同步

共享解码线程主要是为了降低CPU占用,重复利用解码,毕竟在一个监控系统中,很可能打开了同一个地址,需要在多个不同的窗口中播放,形成多屏渲染的效果,做到真正的完全的画面同步,在主解码线程中切换了播放进度,所有关联的同一个解码线程的播放窗体也会立即同步画面,使得感官上看起来非常的舒服。

2024-01-29 09:29:23 1384 1

原创 Qt编写手机端视频播放器/推流工具/Onvif工具

一、视频播放器同时支持多种解码内核,包括qmedia内核(Qt4/Qt5/Qt6)、ffmpeg内核(ffmpeg2/ffmpeg3/ffmpeg4/ffmpeg5/ffmpeg6)、vlc内核(vlc2/vlc3)、mpv内核(mpv1/mp2)、mdk内核、海康sdk、easyplayer内核等。非常完善的多重基类设计,新增一种解码内核只需要实现极少的代码量,就可以应用整套机制,极易拓展。同时支持多种画面显示策略,自动调整(原始分辨率小于显示控件尺寸则按照原始分辨率大小显示,否则等比缩放)、等比

2024-01-26 08:16:01 1487

原创 Qt编写linux系统onvif工具(支持预览/云台/预置位/录像等)

【代码】Qt编写linux系统onvif工具(支持预览/云台/预置位/录像等)

2024-01-24 10:02:35 1307

原创 Qt采集本地摄像头推流成rtsp/rtmp(可网页播放/支持嵌入式linux)

一、功能特点支持各种本地视频文件和网络视频文件。支持各种网络视频流,网络摄像头,协议包括rtsp、rtmp、http。支持将本地摄像头设备推流,可指定分辨率和帧率等。支持将本地桌面推流,可指定屏幕区域和帧率等。自动启动流媒体服务程序,默认mediamtx(原rtsp-simple-server),可选用srs、EasyDarwin、LiveQing、ZLMediaKit等。可实时切换预览视频文件,可切换视频文件播放进度,切换到哪里就推流到哪里。推流的清晰度和质量可调。可动态添加文件、目录、

2024-01-22 09:56:24 1268

原创 Qt/C++自定义界面大全/20套精美皮肤/26套精美UI界面/一键换肤/自定义颜色/各种导航界面

这个系列对应自定义控件大全,一个专注于控件的编写,一个专注于UI界面的编写,程序员有两大软肋,一个是忌讳别人说自己的程序很烂很多bug,一个就是不擅长UI,基本上配色就直接rgb,对于第一点,只要放松心态,直面自己的不足,不断改进,才能问鼎武林至尊。至于第二点,因为程序员擅长的是逻辑思维,99%的人几乎都没有美学概念,所以你就需要借鉴,去UI中国多看看专业UI设计师设计的各种精美界面,你会发现新大陆,搭配拾色器,结合QSS和painter绘制两大法宝,做起界面来得心应手溜得起飞不要太high。

2024-01-18 08:29:22 3395 2

原创 Qt/C++中英输入法/嵌入式输入法/小数字面板/简繁切换/特殊字符/支持Qt456

在嵌入式板子上由于没有系统层面的输入法支持,所以都绕不开一个问题,那就是在需要输入的UI软件中,必须提供一个输入法来进行输入,大概从Qt5.7开始官方提供了输入法的源码,作为插件的形式加入到Qt中,这里需要特别提示的是,该源码是gpl的,商业应用对这个比较不感冒,可能更愿意自己基于Qt来实现一个。用纯Qt写输入法,如果不涉及到中文输入,那还是非常简单的,只需要将按钮上的字符用键盘事件发给焦点的控件即可。

2024-01-16 08:49:36 1720 2

原创 Qt/C++编写视频监控系统83-自定义悬浮条信息

一般视频控件上会给出个悬浮条,这个悬浮条用于显示分辨率或者一些用户期望看到的信息,一般常用的信息除了分辨率以外,还有帧率、封装格式、视频解码器名称、音频解码器名称、实时码率等,由于实际的场景不一样,用户希望能过自定义勾选开启哪些信息,开启的就显示,不开启的则可以不用显示,这样也方便节约空间甚至节约CPU占用,比如实时码率大部分时候是不需要的,而计算实时码率在采集数据的时候就需要不断运算累加,需要的时候开启不需要的时候不开启,这样也能避免不必要的计算。

2024-01-13 14:01:00 1409 2

原创 Qt/C++音视频开发63-设置视频旋转角度/支持0-90-180-270度旋转/自定义旋转角度

设置旋转角度,相对来说是一个比较小众的需求,如果视频本身带了旋转角度,则解码播放的时候本身就会旋转到对应的角度显示,比如手机上拍摄的视频一般是旋转了90度的,如果该视频文件放到电脑上打开,一些早期的播放器可能播放的时候是躺着的,因为早期播放器设计的时候,手机还没有流行,也没有考虑这种需求,只是随着现代社会的发展,才慢慢有了这种新的需求。除了能够对源头视频识别旋转角度进行纠正以外,也可以主动指定旋转角度来播放视频,这也是部分用户的需求,比如有些用户是的大屏机器是垂直的,希望视频能够设置旋转角度来播放。

2024-01-08 09:18:54 1461 1

原创 Qt/C++摄像头采集/二维码解析/同时采集多路/图片传输/分辨率帧率可调/自动重连

本地摄像头的采集可以有多种方式,一般本地摄像头会通过USB的方式连接,在嵌入式上可能大部分是CMOS之类的软带的接口,这些都统称本地摄像头,和网络摄像头最大区别就是一个是通过网络来通信,一个是直接本地通信。

2024-01-05 08:56:02 1916 1

原创 Qt/C++编写视频监控系统82-自定义音柱显示

通过音柱控件实时展示当前播放的声音产生的振幅的大小,得益于音频播放组件内置了音频振幅的计算,可以动态开启和关闭,开启后会对发送过来的要播放的声音数据,进行运算得到当前这个音频数据的振幅,类似于分贝,分贝越大,听到的声音越大,振幅越大。在如何摆放音柱控件这个问题上,考虑过多种方案,比如一开始做的是固定放在视频控件的右侧,也就是在一个垂直布局中先放一个视频控件,然后放左通道音柱,最后放一个右通道音柱,三个控件之间设置好间距。

2024-01-03 09:31:55 1662 2

原创 Qt/C++音视频开发62-电子放大/按下选择区域放大显示/任意选取区域放大

电子放大这个功能思考了很久,也是一直拖到近期才静下心来完整这个小功能,这个功能的前提,主要得益于之前把滤镜打通了,玩出花样来了,只要传入对应的滤镜字符串,就可以实现各种各样的效果,然后查阅滤镜手册过程中,发现有个裁剪crop的滤镜,和要做的电子放大效果完全一样,就是将指定的某个区域放大显示,这不就是电子放大吗?加上之前就解决了如何通过用户鼠标按下的点转换成视频真实的坐标,两者一个结合,这不就是水到渠成的事情?所以很多时候就是这样搞着搞着,问题自然而然就解决了。第一步: 鼠标按下开始记住坐标。

2023-12-29 09:04:47 1442 2

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

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

2018-05-16

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

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

2018-05-06

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

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

2018-05-06

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

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

2017-04-16

Qt实现的FlatUI样式

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

2016-12-11

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编写的可换肤的中文双拼输入法可执行文件

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

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

VISTA128主机调试工具

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

2014-11-04

QT自定义精美换肤界面

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

2014-08-15

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

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

2014-07-30

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

镜头焦距计算工具VB源码

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

2014-05-19

镜头/硬盘测算工具

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

2014-05-19

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

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

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

2014-05-02

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

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

2014-04-07

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

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

2014-04-07

DS7400报警主机调试工具

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

2014-04-07

VISTA报警主机调试工具

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

2014-04-07

QT编写的邮件发送工具可执行文件

项目名称:邮件发送工具 开发环境:XP+QT4.7+QT CREATOR2.8+MINGW 已编译通过测试平台:XP、Win7、ubuntu、tiny210、TE6410 技术实现:通过socket通信实现smtp协议,根据应答解析协议并作出处理发送邮件 基本功能: 1:支持主流邮箱例如163邮箱QQ邮箱的发送。 2:支持富文本发送,可以发送带有HTML格式的文本。 3:支持多个附件发送,附件可以是图片。

2014-03-12

QT编写的邮件发送工具

项目名称:邮件发送工具 开发环境:XP+QT4.7+QT CREATOR2.8+MINGW 已编译通过测试平台:XP、Win7、ubuntu、tiny210、TE6410 技术实现:通过socket通信实现smtp协议,根据应答解析协议并作出处理发送邮件 基本功能: 1:支持主流邮箱例如163邮箱QQ邮箱的发送。 2:支持富文本发送,可以发送带有HTML格式的文本。 3:支持多个附件发送,附件可以是图片。

2014-03-12

QT编写的串口设备调试工具终极版

开发环境:WIN7+QT4.7+QT CREATOR2.8+MINGW 已编译通过测试平台:XP、Win7、ubuntu、tiny210 技术实现:通过第三方串口通信类,解析协议并作出处理 基本功能: 1:支持16进制数据发送与接收。 2:支持windows下COM9以上的串口通信。 3:自动加载对应操作系统串口号。 4:实时显示收发数据字节大小以及串口状态。 高级功能: 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系统下成功编译并运行。

2013-12-20

串口设备调试工具

基本功能: 1:支持16进制数据发送与接收。 2:支持windows下COM9以上的串口通信。 3:自动加载对应操作系统串口号。 4:实时显示收发数据字节大小以及串口状态。 高级功能: 1:可自由管理需要发送的数据,每次只要从下拉框中选择数据即可,无需重新输入数据。 2:可模拟设备回复数据,需要在主界面开启模拟设备回复数据。当接收到设置好的指令时,立即回复设置的回复指令。例如指定收到0x16 0x00 0xFF 0x01需要回复0x16 0x00 0xFE 0x01,则只需要在SendData.txt中添加一条数据16 00 FF 01:16 00 FE 01即可。 3:可定时发送数据和保存数据到文本文件:,默认间隔5秒钟,可更改间隔时间。 4:在不断接收到大量数据时,可以暂停显示数据来查看具体数据,后台依然接收数据但不处理,无需关闭串口来查看已接收到的数据。 5:每次收到的数据都是完整的一条数据,而不是脱节的,做了延时处理。

2013-12-20

QT编写的TCP调试工具

ASCII格式和16进制数据收发,支持多个客户端收发消息,可以指定客户端发送消息,动态增加和移除已连接客户端。

2013-12-15

TCP调试工具

TCP调试工具,ASCII格式和16进制数据收发,支持多个客户端收发消息,可以指定客户端发送消息,动态增加和移除已连接客户端。

2013-12-15

QT编写的DS7400主机调试工具

QT编写的DS7400主机调试工具,串口通信,同时附带一个自定义的报警按钮控件,可以自由显示当前防区状态,已用于多个商业项目!

2013-12-13

DS7400主机调试工具

DS7400主机调试工具,可以用来与DS7400主机通信,能够识别主机布防撤防,防区报警,防区旁路,防区断开故障等情况。无需安装任何框架,绿色版。

2013-12-13

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

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

2023-12-05

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

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

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

2019-03-17

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编写软件运行时间记录(开源)

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

2019-03-10

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编写守护进程

没有任何人敢保证自己写的程序没有任何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编写的数据库分页demo

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

2018-09-08

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

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

2018-07-04

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

空空如也

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

TA关注的人

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