自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 QT-TCP(QTcpSocket)保活机制(无需复杂心跳,直接调用函数)

TCP 是面向连接的协议,双方要经过三次握手建立连接。一旦连接建立,如果应用层一直没有数据收发,TCP 本身不会主动探测对方是否还存活。在很多场景下,连接可能“看似存在”,但实际上已经失效:对方主机掉电/重启网络中间设备(防火墙、NAT、路由器)清除了连接状态网络链路断开(物理或逻辑)这样,应用层还以为“连接正常”,直到下一次真正发数据时才发现超时或错误。TCP 保活机制最初由 RFC 1122 定义,主要为了解决:检测死连接如果一方已经掉线或不可达,长时间保持一个假连接会浪费系统资源。保活探测能帮助内核及

2025-09-19 13:51:57 811

原创 正则表达式里 (), +, $, \, \\ 的含义和区别

本文介绍了正则表达式中的几个关键符号及其用法:1)小括号()用于捕获组和分组;2)加号+作为量词表示前元素至少出现1次;3)美元符号$表示字符串结尾锚点;4)反斜杠\用于转义特殊字符;5)在C++中需使用双反斜杠\表示正则中的\。文章还提供了记忆口诀,并举例说明了这些符号在C++和正则表达式中的不同写法。这些基本概念是正则表达式入门的重要内容。

2025-08-20 14:10:40 723

原创 JlCompress解压docx模板更改xml生成新的docx文件,libreoffice转pdf失败,打开显示文件受损,换QuaZip文件正常分析

C++导出Word文件,转成PDF注意事项,在解压缩和压缩docx文件的时候尽量避免使用JICompress,而是使用QuaZip进行解压和压缩

2025-04-24 14:00:26 382

原创 C++/Qt导出动态数据生成Word、PDF报表文件

C++/Qt使用QuaZip、libreoffice,配合自定义Word模板生成Word文件和Pdf文件

2025-04-10 10:40:47 1682

原创 Qt中多线程实时界面刷新优化方案

Qt中多线程实时界面刷新优化方案

2025-03-24 15:41:58 794

原创 QPointer 和 QSharedPointer区别

QPointer:主要用于 QObject 对象,避免访问已销毁对象,不负责内存管理,适合用于 QObject 的父子关系中,轻量级。:负责内存管理,通过引用计数来控制对象生命周期,适用于多个对象共享同一资源的情况,线程安全。选择哪个智能指针取决于你的需求:如果需要管理对象生命周期并共享所有权,使用;如果只是需要避免悬空指针并确保对象销毁时指针无效,使用QPointer。

2024-11-27 14:09:59 1745

原创 failure in QCoreApplication:sendEvent: “Cannot send events to objects owned by a different thread

使用会将QTimer的生命周期交由QObject和双重管理,容易导致析构时的冲突。会使全权管理对象生命周期,更加安全。推荐避免在需要共享智能指针管理的对象上使用 Qt 的父子关系机制,保持单一的内存管理策略。

2024-11-21 17:39:45 447

原创 MVC设计模式-实践理解

一个Qt项目有这个类、界面类、响应动作类,所有界面只通过响应动作类和这个类进行信号和槽响应,以及参数互取,初始化顺序和包含关系最好怎么设计?

2024-11-11 10:09:16 276

原创 mongocxx教程

mongocxx是 MongoDB 的官方 C++ 驱动,用于 C++ 应用中连接和操作 MongoDB 数据库。以下是一个简明教程,涵盖安装、基本操作、查询和更新等内容。

2024-11-01 17:56:57 665

原创 打开 MongoDB Compass 的原因是 MongoDB 服务器(mongod)需要启动后,MongoDB Compass 才能连接到数据库。

命令用于手动启动 MongoDB 服务器,使得 MongoDB Compass 能够连接到数据库。你可以通过将 MongoDB 配置为服务,避免手动启动服务器的步骤。

2024-10-24 18:07:28 1045

原创 在遍历 QMap 时,it.value() 可能会触发一些操作,使得 Map 的元素被删除,从而导致迭代器失效。

在遍历QMap时,可能会触发一些操作,使得的元素被删除,从而导致迭代器失效。

2024-10-24 10:03:11 291

原创 QObject::killTimer: Timers cannot be stopped from another thread QObject::~QObject: Timers cannot be

错误信息:QObject::killTimer: Timers cannot be stopped from another thread QObject::~QObject: Timers cannot be stopped from another thread D:\Project\FPTN256\x64\Debug\FPTN256.exe (进程 4584)已退出,代码为 -1073741819。按任意键关闭此窗口. . .解答:这个错误信息表明你在使用或者QObject。

2024-10-23 18:01:36 2414

原创 C6262 错误提示说明你的函数在栈上分配了太多内存。在 C++ 中,函数的局部变量默认是分配在栈上的,而栈的大小是有限的。栈上过多的内存分配会导致栈溢出,尤其是对于较大的数组或缓冲区

栈上的内存有限,通常不能分配过大的数组或缓冲区。大块内存应该分配到堆上。可以使用new动态分配内存,也可以使用智能指针或标准容器(如)来更好地管理内存,避免内存泄漏和栈溢出问题。通过动态内存分配,可以有效解决C6262这个问题。

2024-10-10 14:33:27 845

空空如也

空空如也

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

TA关注的人

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