自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

糯诺诺米团

人最宝贵的是生命。生命属于人只有一次。人的一生应当这样度过:当他回首往事的时候,不会因为碌碌无为、虚度年华而悔恨,也不会因为为人卑劣、生活庸俗而愧疚。

  • 博客(207)
  • 资源 (17)
  • 问答 (2)
  • 收藏
  • 关注

原创 Qt6 Host + Updater 更新方案(2):manifest.json 设计与版本比较规则

本文介绍了客户端在线更新系统中manifest.json文件的设计方案。该文件作为更新系统的"单一事实来源",包含版本号、下载地址、哈希校验等关键字段,用于判断是否需要更新并确保下载完整性。文章重点说明了四段版本号的比较规则(如2.1.17.10),强调必须采用逐段数值比较而非字符串比较,避免误判。同时提供了字段设计示例和版本比较代码实现,建议在工程实践中从一开始就加入hash校验等安全措施,为后续扩展灰度发布等功能预留空间。

2026-04-09 10:04:14 39

原创 Qt6 Host + Updater 更新方案(1):整体流程与交互设计

本文介绍了Qt软件在线升级的常见问题及解决方案,提出了分阶段更新的设计思路。通过主程序(Host)和独立更新器(AppUpdater.exe)的职责分离,实现安全的版本更新流程。关键点包括:1)启动时静默检查版本但不执行更新;2)用户确认后由更新器完成下载、校验和替换;3)注重用户体验和更新可靠性,支持取消下载、完整性校验等机制。文章还预告了后续将讨论的manifest.json设计规范,为开发者提供了一套完整的在线升级实现方案。

2026-04-08 08:14:38 35

原创 Qt|HTTP实战到工程落地(11):中断处理

文章摘要:本文详细讲解了如何在Qt网络请求中实现中断功能。通过维护requestId与QNetworkReply的映射表,可以精准定位并中断特定请求。核心实现包括:1)使用take()安全移除映射关系;2)设置interrupted标记区分取消类型;3)调用abort()终止传输但仍会触发finished信号;4)统一在finished回调中处理取消逻辑。这种设计保证了资源回收和结果通知的统一处理,适用于GET/POST/上传/下载等各种HTTP请求场景。

2026-04-07 08:27:59 66

原创 Qt|HTTP实战到工程落地(10):Download回调处理

《Qt HTTP下载实战:进度管理、大文件处理与资源回收》摘要:本文深入探讨Qt网络下载中的工程实践问题,提出基于requestId的多任务追踪方案解决进度显示串台问题。重点解析三大核心回调:1) downloadProgress通过sender()转发进度并携带requestId;2) readyRead采用流式写入避免大文件内存溢出;3) finished统一处理资源回收,包括文件关闭、错误分类和信号分发。特别强调下载完成时必须flush/close文件句柄,Windows平台需注意文件占用问题。文章提

2026-04-02 08:41:39 110

原创 Qt|HTTP实战到工程落地(9):Download附件下载

本文介绍了使用Qt的QNetworkAccessManager实现文件下载功能的核心设计。通过requestId管理异步下载任务,将文件指针、请求类型等上下文信息挂载到QNetworkReply上,并维护requestId到reply的映射表。重点讲解了下载前的目录检查、异步GET请求发起、reply托管文件指针等关键设计,确保大文件下载时能实时显示进度并稳定写入磁盘,避免内存问题。文章为后续实现进度更新、数据写入和完成回调等核心功能奠定了基础。

2026-04-01 10:08:28 29

原创 Qt|HTTP实战到工程落地(8):文件上传Demo

本文介绍了如何使用Qt实现文件上传进度显示功能。通过QHttpRequest模块处理HTTP上传请求,关键点包括:1)初始化UI进度条并设置信号槽连接;2)保存requestId防止进度串扰;3)在uploadProgress回调中计算并更新进度百分比;4)处理上传完成回调,区分成功/失败状态。文章提供了完整的代码示例,展示了如何从读取文件、发起上传到实时更新进度条的全流程实现,特别强调了防御性编程和工程化细节处理,确保进度显示准确可靠。

2026-03-31 10:21:37 32

原创 Qt|HTTP实战到工程落地(7):UploadData 回调处理

本文详细讲解了Qt网络开发中文件上传功能的实现要点,重点解析了上传进度处理和请求完成回调两个核心环节。通过QNetworkReply的uploadProgress信号实时获取上传进度,利用requestId区分并发请求,并将进度信息转发给业务层;同时采用统一的finished信号处理入口完成响应解析和资源回收。文章强调了工程化实现中进度追踪、结果分发和并发管理的设计思路,为构建可维护的上传功能提供了实践指导。

2026-03-30 10:29:23 39

原创 Qt|HTTP实战到工程落地(6):UploadData 文件上传实现

本文详细介绍了使用Qt的QNetworkAccessManager实现multipart/form-data文件上传功能。主要内容包括:1)构建多段表单容器QHttpMultiPart,支持一次上传多个文件;2)设置每个文件的Content-Disposition头部信息;3)发起异步POST请求并管理QNetworkReply资源;4)建立requestId映射以便跟踪和取消请求;5)连接上传进度和结束回调信号。文章强调工程化实现要点,如原子递增请求ID、资源自动释放、进度处理等,适用于中小文件上传场景。

2026-03-27 11:37:08 82

原创 Qt|HTTP实战到工程落地(5):一个Demo跑通POST

本文介绍了如何在自定义QWidget中使用QHttpRequest进行HTTP请求。主要内容包括:1) 定义并初始化QHttpRequest对象,设置请求头和URL;2) 实现登录功能接口,包括密码MD5加密和POST请求;3) 处理HTTP返回数据,包括错误判断和JSON解析;4) 资源释放。文章建议将HTTP请求类设计为单例模式,特别适合小型项目中统一管理网络请求。作者"糯诺诺米团"分享了这些C++开发中的实用技巧。

2026-03-27 10:46:28 72

原创 Qt|HTTP实战到工程落地(4):统一回调出口(QNetworkReply::finished)与错误码设计

本文详细讲解了HTTP请求结束后如何处理返回数据。通过QNetworkReply的finished信号触发HandleReplyFinished槽函数,实现了:1)使用sender()获取请求对象并校验类型;2)通过setProperty防重复处理;3)读取请求上下文信息;4)双重错误检测(Qt网络错误和HTTP状态码);5)分优先级处理取消、系统错误和业务错误;6)统一结果格式上报。文章重点强调了工程实践中的边界处理技巧,如防重入保护、上下文绑定、错误分层判断等,为网络请求处理提供了完整的解决方案。

2026-03-27 10:46:10 80

原创 Qt|HTTP实战到工程落地(3):GettingData 实现 GET/POST 获取 JSON

本文详细讲解了GettingData模块的主要逻辑实现。首先介绍了通过Msg_SendHttpRequestDataResult信号传递请求结果,然后分步骤解析了数据请求流程:1)设置请求超时;2)生成唯一请求ID;3)设置请求头;4)构建完整URL;5)根据请求模式(POST/GET)发送请求;6)绑定上下文属性用于后续处理;7)保存请求映射关系;8)连接finished信号到统一处理函数。重点强调了请求ID的唯一性、上下文属性的重要性以及POST请求中二进制和字符串参数的区别处理。整个流程为后续的请求结

2026-03-27 10:45:44 102

原创 Qt|HTTP实战到工程落地(2):接口契约与公共API

本文详细介绍了QHttpRequest类的整体使用流程,重点讲解了其对外开放的接口、结构体和枚举类型。文章首先说明了数据封装到结构体的优势,然后依次介绍了Enum_HttpRequest(网络访问方式枚举)、HttpRequestHeaderSt(请求头结构)和Enum_HttpRequestType(操作编号枚举)等核心组件。随后详细解析了两个关键结构体:AccessingQHttpProcessingDataSt(HTTP请求参数结构)和GetQHttpProcessingDataSt(HTTP响应结果

2026-03-27 10:44:57 76

原创 Qt|HTTP 实战到工程落地(1):整体架构与封装思路

本文分享了Qt开发中Http通信的封装经验,针对QNetworkAccessManager原生接口存在回调分散、请求管理困难等问题,作者封装了QHttpRequest类。该封装提供了统一请求入口,支持请求ID跟踪、中断功能,整合了GET/POST/下载/上传等操作,并统一处理超时、Header等工程细节。文章重点介绍了封装设计思路:通过分配唯一requestId追踪请求,并在统一回调中处理所有请求类型。开发环境为QtCreator6.8.2,旨在提高开发效率并降低业务逻辑与网络通信的耦合度。

2026-03-27 09:45:21 179 1

原创 C++多线程打包成so给JAVA后端(Ubuntu)<3>

本文介绍了在C++中实现多线程处理硬件数据的方案。针对硬件操作可能触发多个点的情况,作者采用线程池方式处理短生命周期任务。文章重点讲解了单个线程任务的实现逻辑:通过ThreadTask类设置超时时间(默认500ms)和回调函数,使用原子变量控制线程停止,并在超时后触发回调。该方案适用于处理硬件抖动操作,但作为一拖多场景的Demo使用时可能存在局限性。作者表示后续将介绍线程池调用Task的具体实现。

2026-03-25 16:29:33 209

原创 C++多线程打包成so给JAVA后端(Ubuntu)<2>

本文详细介绍了Java与C++通过JNI进行交互的实现方法。主要内容包括:1)JNI双向调用机制,包括Java调用native方法和C++回调Java的过程;2)JVM查找JNI函数的两种方式,重点讲解静态注册的命名规则;3)JNI_OnLoad函数的核心作用,包括缓存全局变量、初始化JavaVM指针等优化措施;4)通过心跳包线程的启动示例,展示如何在C++中创建线程并与Java交互。文章提供了完整的JNI生命周期管理代码,并解释了关键全局变量的作用,为开发者实现高效的JNI交互提供了实用指导。

2026-01-04 16:51:46 736

原创 C++多线程打包成so给JAVA后端(Ubuntu)<1>

本文介绍了如何使用C++编写动态链接库(so)供Java后端调用,重点讲解了心跳包线程的实现。作者通过JNI技术将C++代码编译成so文件,在Ubuntu系统中运行。核心功能包括:1)固定心跳包线程,每秒轮询设备状态;2)多线程处理硬件设备的防抖操作。文章详细说明了线程启动、JNI环境处理、设备ID存储优化等关键技术点,并指出了代码中的不足之处。这种方案在性能、复用性和功能扩展性方面具有优势,适合需要处理多设备连接的服务器端应用。

2025-12-29 15:34:52 1012

原创 Qt|麦克风设备热插拔功能(升级版Windows)

本文介绍了麦克风热插拔功能的优化方案。作者发现原有代码仅检测设备名称而未判断麦克风切换状态,导致多个麦克风同时存在时无法正确识别默认设备。解决方案采用Windows API替代Qt实现,通过AudioDeviceMonitor类监听设备变更,利用IMMNotificationClient接口实时获取默认麦克风变化。关键改进包括:1)使用Windows原生API避免额外线程开销;2)通过设备ID精准识别当前默认麦克风;3)当检测到默认设备变更时发出信号通知上层应用。该方案在VS2019+Qt5.15.2环境下

2025-09-17 11:46:07 438

原创 C++|UDP通讯使用总结

本文分享了使用C++原生UDP替代Qt的QUdpSocket进行高性能网络通信的经验。作者最初采用QUdpSocket开发,但发现其封装层导致性能不足,无法满足50台设备的高吞吐量需求。转而使用原生C++ UDP实现,通过创建非阻塞套接字、设置广播参数、绑定端口等技术手段,配合双线程架构(监听线程+工作线程)和队列处理机制,显著提升了通信效率。文中详细介绍了从套接字创建到线程处理的完整实现流程,包括IP过滤、数据校验等关键细节,为需要高性能UDP通信的开发提供了实用参考方案。

2025-08-25 16:21:06 783

原创 Qt6.8.2中WebAssembly沙盒环境中预加载文件

WebAssembly作为Web技术的一部分,应该也遵循同源策略,直接访问绝对路径可能会破坏同源策略,导致不同来源的代码能够随意访问彼此的文件资源,引发安全漏洞。使用这种方式就可以将本地文件夹映射到虚拟文件系统,在程序中直接访问虚拟文件夹中的内容就行了。在WebAssembly的沙盒环境中是不允许直接按照绝对路径访问文件的。是 qmake 变量,代表当前项目路径)下的。我是糯诺诺米团,一名C++开发程序媛~使用这种方式就可以访问本地文件了。假设本地文件的路径结构如下所示。

2025-04-28 09:04:40 540

原创 Qt6.8.2中WebAssembly沙盒环境打开本地文件并显示<1>

前几篇文章中已经讲述了javaScript与Qt程序回调,今天为大家分享在QtCreator的WebAssembly环境中打开本地文件并展示到控件上。

2025-04-24 09:26:20 491

原创 Qt6.8.2中JavaScript调用WebAssembly的js文件<3>

开发环境:win11 + Qt6.8.2 + WebAssembly3.1.56在进行字符串操作时,我尝试了以下几种方式。

2025-03-20 14:30:19 1111 1

原创 Qt6.8.2中JavaScript调用WebAssembly的js文件<2>

开发环境:win11 + Qt 6.8.2。

2025-03-18 13:46:14 968

原创 Qt6.8.2中JavaScript调用WebAssembly的js文件<1>

前段时间已经学习了如何在QtAssembly中编译FFmpeg资源了,接下来需要使用Html来调用QtCreator中WebAssembly套件写的功能,逐步实现javascrpt与c++复杂功能的视线。接下来我先为大家介绍一个非常简单的加法调用吧!

2025-03-13 16:51:04 621

原创 Qt6.8.2创建WebAssmebly项目使用FFmpeg资源

之前使用FFmpeg解码器时没有编译过,想要在WebAssmebly套件环境中使用FFmpeg时,不能使用dll的方式,所以只能手动编译,这个步骤对我来说还是有一定难度的,不是不会编译,而是编译出来的内容,无法在QtCreator中应用。接下来我来详细讲述下如何编译FFmpeg并使用。虽然编译过程很简答, 主要是环境配置以及在项目中的兼容程序,之前总是查询emconfigure的使用,浪费了很长时间,发现不用调用“emconfigure”也可以编译成功。

2025-03-06 17:23:46 1289

原创 Qt|麦克风设备热插拔检测功能

最近在开发的项目中用到了麦克风进行语音识别功能,此时就需要知道麦克风是否被连接。今天我为大家分享一下,如何实时检测麦克风是否连接。在Qt的想要类中,没有实时检测的方法,那么对于实时检测麦克风,那一定是用开线程的方式,在下面的Demo中,我设定的是1s检测一次。

2025-01-03 10:24:36 538

原创 Qt|QWidget窗口支持旋转

功能实现:使用QWidget创建的窗口支持窗口旋转功能。展示的示例中支持由水平方向旋转至垂直方向。至于其它角度旋转的问题,看完这篇文章后应该会很简单能实现的!开发环境:win VS2019 + Qt 5.15.2在实现之前也有想用使用 QPropertyAnimation类,用动画的方式实现,经过验证发现,动画类不支持在object中进行旋转操作,所以放弃!所以,采用广大博友推荐的方式:QGraphicsView控制场景中的子窗口进行旋转。

2025-01-02 16:25:01 1835

原创 Qt中模拟鼠标消息并与系统鼠标消息进行区分

开发一个教学系统,包含了教师端、学生端,并且教师端支持示教功能。此时,学生端的鼠标、键盘不响应系统事件,但需要响应教师端发过来的鼠标移动、按下消息。因为共享页面相同,为了提高局域网实时效率,采用UDP通讯方式,使用最快(目前我没有找到比这个更快的了,如果有,小伙伴可以评论区告诉我哟,我也学习下)在实现功能时,主要实现方式:使用钩子函数,处理系统发送的鼠标以及键盘消息。那么禁用掉教师端的鼠标键盘消息后,如何在教师端响应按下消息时,也让学生端响应呢?

2024-11-28 10:30:44 759

原创 C++|海康摄像头实时预览时设置音量大小

在这里,大家需要注意箭头指向的参数,取值范围在[0, 0xFFFF],不是我们常用的0-100的十进制数了。因为在设置的时候我并没有过多关注这一点,导致打开声音后无论怎么设置都没有音量,还研究了很长时间。,接收到系统头数据后就可以调用了,并且该类型只会在打开时调用一次,不会出现频繁调用的现象!能够成功实现后会发现,代码很简单,难得是不知道什么时候调用,以及对参数的正确引用。对于以上两种问题,我相信很多人都遇到了,前段时间尝试了各种方式,终于解决了!下面我来讲述下我的解决方法把,希望对有需要的人有用!

2024-07-05 15:32:57 1019

原创 Qt|海康摄像头多个页面展示问题

程序应用过程中只需要登录一次,退出一次即可。中间无论有多少个页面需要展示,只需要修改“在程序中多个不同功能页面需要展示摄像头的实时预览画面,该如何高效的展示呢?按照流程图可知,想要预览一个摄像头画面,需要先登录->启动预览->退出这样完整的流程。在使用软件之前,摄像头的编号已经生成在“camera.csv”文件中。如果程序中存在多个窗口展示摄像头画面时,需要每次都经过这些完整的流程吗?为大家分享一个使用海康摄像头的小功能,希望对大家有用~该功能已测试,非常方便!

2024-06-19 14:13:44 632

原创 Qt|QWebSocket与Web进行通讯,实时接收语音流

实现功能主要思路:在网页端进行语音输入,PC机可以实时接收并播放语音流。此时,Qt程序做客户端,Web端做服务器,使用QWebSocket进行通讯,实时播放接收的语音流。

2024-06-19 08:14:47 1932

原创 Window下VS2019编译WebRTC通关版

这段时间需要实现这样一个功能,使用WebRTC实现语音通话功能,第一步要做的事情就是编译WebRTC源码,也是很多码友会遇到的问题。经过我很多天的踩坑终于踩出来一条通往胜利的大路,下面就为大家详细介绍,编译步骤以及踩坑问题吧!在这里我首先说明:WebRTC的源码我就不提供了,因为我也是沾了别的博友的光,这里我才用的是2021年WebRTC版本下载源码踩坑记录:不需要下载git插件、gn插件,只需要下载对WebRTC源码以及depot_tools就行。

2024-05-29 11:30:36 1242 3

原创 Qt|实现5分钟无操作自动关闭程序功能<2>

继承自QRunnable添加头文件Q_OBJECTpublic:private:void run();一般情况下,线程的处理是在run函数中处理。

2024-05-14 15:45:57 1290 2

原创 Qt|实现5分钟无操作自动关闭程序功能<1>

前两天接到了这样一个需求:当用户长时间不进行页面上功能操作时,默认该用户已经离开了,此时需要弹出页面提醒用户,并在倒计时10s后强制关闭程序。不知道大家在开发过程中有没有遇到过这种请求呢?针对这种功能该如何开发呢?今天这篇文章主要为大家讲解实现思路,具体实现可以看下一篇文章哟~肯定是要从最后一次操作程序开始计时,在时间到达指定时间(五分钟)之内,并没有接收到新的操作时,说明程序已经五分钟没有用户操作了,此时需要提醒用户是否需要强制关闭程序。想要实现该功能,需要解决以下问题。

2024-05-13 09:22:00 808

原创 QtCreator修改Build目录

这种展示方式无论是Debug还是Release文件下都有对应的debug、Release子文件夹,只是根据构建的方式不同,exe存储的位置也不同。4:创建一个新Qt项目,此时生成的debug和Release就会在同一个bin目录下了。根据VS的使用习惯,一般会生成一个叫做"bin"的文件夹,此时为了方便也修改为该文件夹。默认情况下,创建一个新项目时,会生成一个名字很长的文件夹存放exe。最近在使用过程中,遇到了这样一个问题,想修改Build工程的目录。接下来,说一下如何修改项目的构建目录。

2024-03-01 09:36:00 1247 1

原创 Qt|实现时间选择小功能

在软件开发过程中,QtDesigner系统给出的控件很多时候都无法满足炫酷的效果,前一段时间需要用Qt实现选择时间的小功能,今天为大家分享一下!首先看一下时间效果吧!如果有需要继续往下看下去哟~

2024-02-04 13:07:38 2807 2

原创 Qt|开发程序如何自适应屏幕的简单方法

在早几年前,PC的显示屏幕几乎是1920*1080、1680*1050这两种规格,对于PC的window界面开发人员来说,页面也都是按照屏幕大小进行设计的。但是这种根据屏幕大小进行界面设计的方式已经受到了很大限制!近年来,显示屏的尺寸越来越多样化,PC开发的程序肯定不能再和之前一样了,那么该如何让PC开发的程序进行自适应屏幕呢?

2024-02-01 13:17:18 3582

原创 Qt|QTextEdit编辑文本自动拉伸高度以及踩坑经验

最近做开放项目时,遇到了这样一个需求:使用QTextEdit编辑文本,随着编辑文本的变化,窗口高度自适应拉伸。实现该功能的核心思想:响应QTextEdit::textChanged消息,实时获取QTextEdit高度,当编辑框内容的高度超过最小值时,需要修改QTextEdit的高度。对于TextEdit编辑框自动拉伸的功能,很多博友也有记录,今天主要是针对踩坑经验分析,为大家分享!首先看一下实现效果~接下来,详细讲述如何实现该功能吧!

2024-01-31 08:13:51 3339 2

原创 Qt|制作简单的不规则窗体

通常我们用到的对话框基本上都是规则的,在有些特殊情况下,也会使用到不规则窗口,那么该如何实现不规则窗体呢?在MFC框架下很难实现,应该说是难的都想放弃,但是,Qt框架下提供了一个叫做setMask()函数,用来实现不规则窗体,为窗体设置遮罩。在今天的功能介绍中,主要是围绕如何setMask()函数进行讲解的。首先,我们看一下实现出来的效果吧!功能:点击鼠标左键拖动窗口进行移动,鼠标右键销毁当前窗口。用到的事件:鼠标按下事件、鼠标拖动事件、绘图事件。

2024-01-30 11:38:43 1376 2

原创 Qt|QPushButton控件讲解

目前想到的功能也就这些啦~如果还有想要实现却没法实现的功能,评论下说明我会更新的哦~我是糯诺诺米团,一名C++开发程序媛~

2024-01-29 08:56:50 1828 1

原创 Qt中ListWidget控件总结

假设,有一个QCustomWidget自定义widget需要放入QListWidget控件中,该如何使用呢?//创建自定义widget/*当前自定义控件的功能设置,这里不一一展示,每个人的要求不一样*///必须要写show哟~//将自定义widget插入到列表中假设需要点击每个自定义的widget时,响应消息做不同的处理,那么该如何操作呢?答:我们每往QlistWidget中插入一条自定义信息时,必须要对插入的指针做消息处理。

2024-01-18 09:15:50 855

Qt - HTTP 工程化封装核心代码(QHttpRequest)

本资源提供一个可直接落地的 Qt HTTP 工程化封装类 QHttpRequest,基于 QNetworkAccessManager/QNetworkReply 实现统一请求入口与统一 finished 收口。支持 GET/POST 获取 JSON、文件上传/下载、实时进度回调、requestId 追踪、多请求并发管理,以及一行代码取消/中断指定请求。适合需要快速搭建稳定网络模块的 Qt 项目。 功能实现: 1:统一请求入口:GET/POST/Upload/Download 一套调用方式 2:requestId 任务追踪:进度、完成回调精准匹配,避免多任务串台 3:finished 统一收口:成功/失败/取消统一处理,回调逻辑不分散 4:上传进度:uploadProgress 上抛,UI 进度条秒接入 5:下载落盘:readyRead 边下边写,避免大文件占内存 6:一键取消/中断:InterrupAccess(requestId) → abort → finished 走取消分支 包含内容: QHttpRequest类源码(.h/.cpp) 适用人群: 1:Qt 项目需要封装网络层、避免每个接口重复 connect/finished 的同学 2:需要上传/下载并显示进度条的桌面端工具 3:需要多请求并发、可取消、可追踪 requestId 的业务项目

2026-03-30

Qt中麦克风进行热插拔检测核心代码

开发环境:windows,VS2019 + Qt5.15.2 使用线程的方式进行麦克风热插拔效果,当前压缩包中有写好的.h和cpp,直接加入到你的代码中就能使用哟!线程已经在内部被处理好了。

2025-01-03

Qt中使用graphicsView旋转QWidget窗口

项目使用环境:windows环境,VS2019+Qt5.15.2 在QWidget中使用graphicsView类对整体显示窗口进行旋转。

2025-01-02

MFC中实现不同行高的CListCtrl

继承自CListCtrl,实现了表头的重绘、表本身设置行高不同、设置字体颜色、背景色等。功能比较齐全,可以直接拆分txt文件运行。

2016-10-10

Qt中使用QWebSocket与Web进行通讯,实时语音通话

开发环境:VS2017 + Qt 5.14.2 实现功能主要思路:在网页端进行语音输入,PC机可以实时接收并播放语音流。 此时,Qt程序做客户端,Web端做服务器,使用QWebSocket进行通讯,实时播放接收的语音流。 功能实现 想要实现该功能,需要完成以下两大部分。 第一部分:QWebSocket通讯实现。(简单) 第二部分:语音流实时播放功能。(稍微有点难度)

2024-06-18

实现5分钟无操作自动关闭程序功能

开发环境:win10 VS2017 + Qt5.14.2 实现核心功能:当用户长时间不进行页面上功能操作时,默认该用户已经离开了,此时需要弹出页面提醒用户,并在倒计时10s后强制关闭程序。 使用技术:线程池、全局捕获鼠标消息、实时监听

2024-05-08

Qt中实现自定义时间选择功能

开发环境:win10下VS2017+Qt5.14.2 exe打包环境已经就绪,直接运行exe就可以查看效果。 主要功能: 1:实时获取系统时间 2:使用滚轮效果动态改变时间。

2024-02-04

Qt中QTextEdit控件随着文本变化控件自动拉伸

使用开发环境:VS2017+Qt5.14.2。 可执行文件:x64文件夹中exe可直接运行看效果 功能: 随着编辑的文本多少,编辑框的高度自动拉伸,有对应文章说明,链接:https://mp.csdn.net/mp_blog/creation/editor/135935529

2024-01-31

Qt实现打地鼠小游戏(包含晋级操作)

开发环境:VS2017 + Qt5.14.2 x64位 1:划分了4种等级: 等级1:只有一个地鼠 等级2:两个地鼠 等级3:三个地鼠 等级4:四个地鼠 2:挑战失败逻辑:当在指定范围内未达到一定分数时,表示挑战失败。

2022-09-29

Quazip加密、解密

代码编写环境:VS2017+Qt5.14.2 在QtCreator上进行验证过可以实现。 将加密、解密功能封装成一个类,使用时直接调用接口就可以了,内部逻辑已经测试完成了。

2022-06-13

QGraphicsView架构实现基本图形的绘制

环境:VS2017+Qt5.14.2 环境匹配可以运行成功 功能: 1:实现了基本的图形:矩形、正方形、圆形、三角形、多线段、曲线的绘制 2:鼠标实时绘制图形。鼠标按下后开始绘制,再次按下后停止绘制。 3:图形的拖拽、删除、撤销操作 4:曲线图形实时绘制。

2022-05-07

中文汉字与ASCII码对应

结巴分词中prob_states.py中所有的ASCII码值对应的中文汉字,一共是6648个常用汉字。帮助大家学习参考

2019-01-30

Qt使用QuaZip解密带有密码的压缩文件

开发环境:VS2017+Qt5.14.2 x64环境 1:有编译完成的quazip库以及头文件,如果环境与我的相匹配可以直接运行 2:采用非静态方式QuaZip的方式解密 带有密码的文件

2022-02-09

C++程序中,关于GDI绘图的操作

压缩包中包含了17项关于GDI的操作,简单明了,方便初学者学习。 每项功能都有单独的项目进行测试。 功能: 1:通过HDC获得CDC指针 2:创建屏幕DC 。。。。 6:文本对齐方式 7:设置背景模式 8:如何绘制图形 。。。 15:用桌面背景填充指定区域 16:进行坐标映射 17:获取其他程序的图标

2018-06-05

控件------Static的自绘,继承与CStatic

下载下来就可以运行,该项目是基于vs2010开发的,实现的功能: (1)可以修改static的字体 (2)static的背景色 (3)文本的显示格式:靠右、靠左垂直居中等

2018-05-17

wmpSource.zip

当前是MFC下MediaPlayer插件对应的控件类资源。 如果有需要就可以下载,我保证是最全面的信息 我目前测试使用的环境是:VS2010 win10系统 可用

2019-09-06

文件名复制,类似windows功能

实现了点击文件名进行复制,多次点击复制后面的数字进行+1,类似于windows的文件复制 开发环境:VS2017+Qt5.14.2 直接点击就可以运行

2022-01-10

QT中使用QWT实现一类柱状图多种颜色

实现的主要功能是: 1:一类柱状图可以使用多种颜色表达 2:每个柱状体的宽度设置 3:X轴刻度偏移 4:柱状体的偏移 使用代码的前提,必须配置了QWT资源,使用环境VS2017 + Qt5.14.2

2020-12-24

QtLabelLineSpacing.zip

Qt中文本行间距设置,适用于QLabel、QTextBrowser、QTextEdit等用于展示多行文本控件 开发环境:VS2017+5.14.2 如果环境匹配可以直接运行成功

2022-01-04

C++中打印方面的使用

主要包括了有关打印的操作。分别列举了9种功能,包括如何获取打印份数,如何获得页面信息,如何枚举打印机等等。整理的很全面

2017-01-04

C++程序中,使用HWND获取CWnd的指针

在C++程序中,通过HWND获得CWnd的指针。该压缩包中只实现了这一个功能,仅供初学者参考。

2018-05-30

控件-----Edit的重绘,继承自CEdit

该类里面可是实现功能 1:edit的垂直居中输入文本、靠右靠右输入文本 2:设置字体、字号 3:设置字体的颜色、背景色 4:重新定义Tip提示文本的颜色

2018-05-03

显示万年历

主要显示了1900年到2050年的详细日期。包括阴历、阳历、24节气显示。

2017-01-04

入门级收音机串口通讯实例

基于vs2005下的收音机的串口通讯,实现了发送、接收频道的功能,使用文件接收内容。步骤详细,一步一解析,希望给不会串口通讯的提供帮助

2016-01-30

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

TA关注的人

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