自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt5.9.9 (msvc2015_64) + OpenCV4.5.1 +CMake 版本:CMake 3.20.6 完整环境搭建教程

D:\Program Files\opencv\opencv-4.5.1\CMakeDownloadLog.txt找到下载的三个库(最多),下载成功后将库拷贝至D:\Program Files\opencv\sources\.cache\ffmpeg。,全部头文件实现,无需编译、无 dll / 库文件,只需要引入头文件就能用。核心功能:矩阵、向量、特征值、最小二乘、线性方程组、几何变换、矩阵分解等数值计算。转换逻辑存在漏洞,或是图片缩放 / 渲染异常,Mat 读取成功但转 QImage 后无有效像素。

2026-06-24 04:46:59 173

原创 DDS vs RabbitMQ 完整对比(核心差异、架构、场景、性能)

做实时设备状态同步、机器人、车载控制、高频传感器采集、嵌入式局域网→ 选 DDS;做互联网业务异步事件、订单流程、任务队列、需要消息持久化 / 事后重放、跨云微服务解耦→ 选 RabbitMQ。

2026-06-23 10:12:47 63

原创 qt不实现paintEvent而是主动调用QPainter会绘制吗?(引入绘制效率的提升)6问

表格绘图方式适用场景是否需要 paintEvent是否手动 QPainterpaintEvent 内部 QPainter自定义小控件、简单绘图✅ 必须✅ 局部创建QPixmap/QImage 离屏缓存复杂高频绘图,防止重复计算✅ 仅贴图✅ 绘制到缓存多图元、拖拽编辑器、矢量画布❌ Item 自带 paint ()图元内按需创建3D、高性能实时渲染❌ 重写 paintGL❌ OpenGL 原生 APIQt Charts折线 / 柱状 / 饼图表❌ 组件自动渲染❌。

2026-06-23 06:56:58 34

原创 Qt 5.12.10 GCC64 + GTest 完整编译运行示例

需要自己手写 main 函数管理 QCoreApplication 生命周期。如果你的测试代码用到。

2026-06-23 05:56:30 97

原创 子线程与主线程共享数据加锁完整示例

MainWindow.cpp(主线程定时器读共享数据,加锁)Work.cpp(子线程写共享数据,全程加锁)

2026-06-23 04:59:34 75

原创 QSharedMemory 完整双进程示例

【代码】QSharedMemory 完整双进程示例。

2026-06-23 04:53:00 84

原创 Qt 多线程:同步、异步完整区分 + 使用场景 + 代码示例

同步调用函数后,调用线程原地卡住,必须等任务全部执行完,代码才继续向下走;界面会卡死。异步调用函数后,立刻返回,不阻塞当前线程;任务在后台独立执行,完成后通过信号 / 回调通知。

2026-06-23 04:46:48 97

原创 QThreadPool + 多类 QRunnable 任务 + 共享数据加锁完整示例需求说明

cpp运行// 任务1:数字累加任务Q_OBJECTpublic:signals:protected:private:int m_num;

2026-06-23 04:43:41 128

原创 Qt 全部安全跨线程取值方案汇总(共 6 大类,不含不安全直接调用对象成员函数)

不把数据存在子线程 Work 对象内部,单独封装缓存类,内置互斥锁;主线程、子线程持有同一个缓存指针,直接调用读写接口,不受 QObject 线程依附限制。,子线程持续生产数据入队,主线程通过 QTimer 非阻塞轮询取出,适合连续多组数据(日志、图像帧、采样数据流)。常驻后台采集、设备通信,需要频繁手动查询状态,不想用 invokeMethod。图片批量处理、文件解析、单次数学运算,执行完即销毁,不需要持续后台运行。,通过框架 API 跨线程投递调用消息,使用。,参数拷贝到主线程事件队列,天然线程安全,

2026-06-23 04:39:34 216

原创 QLocalServer + QLocalSocket+QProcess

下面给两套完整工程,包含。

2026-06-22 22:51:45 116

原创 QTreeView 与 QTreeWidget 完整区别对比(复习)

QTreeWidget = QTreeView + 封装好的内置 Model,简单省事但扩展性、性能差;QTreeView = 纯显示外壳,必须搭配 Model 使用,开发繁琐但性能强、高度可定制,是工业级项目标准选择。

2026-06-22 21:43:22 147

原创 整套聊天程序完整功能分层讲解

cpp运行// 注册自定义MsgData结构体,老式SIGNAL/SLOT传递结构体不会失效// 弹窗输入登录用户名QString userName = QInputDialog::getText(nullptr,"登录","请输入你的用户名:");// 用户名为空直接退出程序// 创建主窗口并显示w.show();

2026-06-21 21:28:41 181

原创 自定义电池样式进度条(联动 QSlider)

cpp运行Q_OBJECTpublic:// 设置进度 0~100protected:// 核心绘制函数private:// 默认进度20(对应图中红色高度)// 电池外框粗细// 电池负极凸起宽度// 电池负极凸起高度。

2026-06-20 04:56:02 117

原创 Qt中实现两个TreeWidget之间拖拽节点

cpp运行。

2026-06-20 04:45:32 229

原创 QVariant 完整详细介绍

QVariant是 Qt 提供的通用数据容器,可以存放任意单一类型的数据,相当于 Qt 版的 “万能变量”。C++ 原生没有统一的通用类型(int、double、QString、QWidget*、QDate 不能用同一个容器装),QVariant解决了类型统一存储、传递的问题。配合注册后,可存入 QVariant。Item 存储自定义数据标准接口:cpp运行// QTableWidgetItem 存数据// 存入自定义数字// 取出// GraphicsView 图元附加数据同理。

2026-06-20 04:40:52 165

原创 Qt (高仿Visio)流程图组件开发

软件名称 MXYFlowChart主要用来存放全局的一些结构体、枚举、宏定义。Qt (高仿Visio)流程图组件开发(一) 效果展示及基本开发框架构思_qt 流程图-CSDN博客。

2026-06-20 04:03:13 155

原创 Qt Graphics View 完整框架详解

继承:返回图元边界矩形(用于刷新、碰撞):绘图逻辑,内部使用QPainter绘制图形示例极简自定义 Item:cpp运行public:// 图元整体范围painter->drawText(10,50,"自定义图元");setScale()setPos(),单个图元旋转缩放,不影响其他元素鼠标交互:重写实现拖拽、点击,值越大越顶层,覆盖下层图元判断两个图元重叠。

2026-06-20 03:52:40 225

原创 QObject::sender () 完整详解

槽接收 int id,直接判断来源。核心作用:多控件复用同一个槽时,识别哪个控件触发了信号;使用范围:仅槽函数内有效;标准流程sender()获取 QObject 指针 →安全转换类型 → 判断非空后操作;慎用场景:跨线程信号、异步队列信号,优先用传参 / Lambda 替代;优缺点优点:少写大量重复槽函数,简化代码;缺点:需要类型转换、跨线程不安全、可读性弱于 Lambda 捕获。

2026-06-20 00:49:08 221

原创 QGraphicsView实现简单的思维导图示例

简单的思维导图demo。

2026-06-19 15:59:48 42

原创 小段QGraphicsView代码引入递归,超详细完整讲解(从概念、组成、执行流程、栈、优缺点、场景全覆盖)

递归(Recursion):一个函数,在函数内部调用自身,用来把复杂大问题拆解成结构完全相同、规模更小的子问题,直到分解到最简单可直接求解的最小问题,再反向合并结果。自相似:子问题和原问题结构一模一样,只是规模更小;分解思想:大事化小,小事解决后反向合并;栈驱动:底层依靠程序调用栈保存每层状态,递推压栈、回溯弹栈;两个底线:必须有终止出口、每次递归必须缩小问题。

2026-06-19 14:42:56 240

原创 Qt 操作 Word 文档解决方案

(本人觉得官方提供的个人版demo可参考性太差,其中wps模块示例没图片的插入,demo可参考的接口太少了,个人版wps的sdk仅供了解,企业的是不是要钱呢?哈哈哈)其他的使用第三方库方案请参考我的其他文章(推荐安装docxcpp 库,已验证很好使)

2026-06-17 08:16:12 297

原创 Qt 中实现跨平台(Windows 与银河麒麟 Linux)操作 Word文档

这类库体积小、依赖少、集成成本低,完全满足绝大多数桌面 / 嵌入式 Qt 项目的 Word 文档生成 / 基础读写需求。表格库名称开源协议C++ 版本要求核心依赖Qt 适配性核心功能上限读写支持性能学习成本核心优缺点tinydocx(C++ 版)MITC++11 及以上纯头文件,零外部依赖★★★★★ 极佳基础文本格式、段落、标题、表格、图片嵌入、超链接、对齐排版仅支持生成,不支持读取 / 修改★★★★★ 极致★★☆☆☆ 极低。

2026-06-17 05:54:15 483

原创 微软核心产品与业务矩阵清单

整理了一份结构化的微软核心产品与业务矩阵清单。

2026-06-15 23:35:09 113

原创 GIS 矢量数据格式

二维矢量的核心诉求是“精确表达空间位置与属性关系”,因此衍生出了 Shapefile、GeoJSON 以及支持复杂拓扑的 Geodatabase。三维矢量的核心诉求是“海量数据的流畅渲染与真实场景还原”,因此诞生了 3D Tiles、CZML、OSGB 等针对图形渲染和流式加载深度优化的格式。

2026-06-15 21:56:26 47

原创 Linux 达梦数据库(DM8)超详细全流程手册(生产级 / 嵌入式 / GIS 开发专属)

本文基于,针对你的场景做全维度深度细化,覆盖「」全链路,每个步骤都包含,所有命令可直接复制落地,新手零门槛,老手可直接用于生产环境。

2026-06-15 18:23:00 67

原创 Linux 网络接口配置命令完整使用指南

结合你之前的Linux 嵌入式、bonding 网卡绑定、Qt/GIS 开发场景,我给你整理了优先级最高的工具选型,避免学习冗余内容:表格场景首选工具备选工具日常临时配置 IP / 激活接口、快速调试ip addrip linkifconfig(老系统兼容)生产环境 / 服务器 / 嵌入式设备永久网络配置nmclinmtui手动修改系统配置文件网卡硬件调优、网络故障排查ethtoolmii-tool跨网段访问、路由配置ip routeroute命令网络连通性、故障排查ping。

2026-06-15 18:02:42 188

原创 MSVC(Windows) 和 GCC(MinGW/Linux)

表格对比项MSVC主平台Windows全平台调度工具make编译器cl.exeg++链接器link.exeld目标文件.obj.o静态库.lib.a动态库资源工具rc.exe运行库依赖 VC++ CRT一般不依赖 VC++调试符号.pdb内嵌 / 外部符号文件典型报错LNK2019跨平台弱强Windows 原生兼容极强良好同一套 GCC 编译器,有两种不同的平台版本在Windows 上,叫MinGW(带.exe。

2026-06-15 16:51:55 173

原创 Qt 5.9.9 + MSVC2015 64bit + qmake 超详细全流程手册

Q_OBJECT必须放在头文件类内,否则 moc 失效,必报 LNK2019;修改.pro.ui.qrc必须重跑 qmake;MSVC+Qt 固定使用动态 CRT (/MD/MDd),严禁改为静态 CRT;缺少→ 程序闪退,部署必须用 windeployqt;Debug 调试依赖.pdb文件,无符号无法定位崩溃;jom 多线程编译,速度远快于原生 nmake;影子构建隔离源码与中间文件,是 Qt 工程标准规范;moc/uic/rcc 是预处理,和 MSVC 编译器相互独立。

2026-06-15 15:53:55 179

原创 Qt 进程间通信(IPC)全方案

Qt 提供,按分类整理,附用法、优缺点、示例,适配 Windows/Linux/macOS。

2026-06-15 15:11:51 329

原创 Qt 绘制效率优化(分场景 + 实操方案,Linux/Windows 通用)

最高优先级:缩小重绘区域 + 节流 update () + Release 编译次优先级:离屏双缓冲、缓存画笔 / 字体 / 图片、裁剪绘制复杂图形:改用 QGraphicsView + OpenGL 视口,或直接迁移 Qt Quick海量曲线 / 点:批量绘制 + 数据降采样,放弃逐点绘制避坑:少用复杂 QSS、不在 paintEvent 做业务计算、不用无参 update ()

2026-06-15 15:09:01 275

原创 Qt Graphs 2D+3D介绍

Qt Graphs 是 Qt 6.8+ 推出的,合并了旧的 QtCharts(2D)与 QtDataVisualization(3D),底层基于,主打Qt。

2026-06-15 06:49:56 364

原创 数字图像处理(11): 图像平滑 (均值滤波、中值滤波和高斯滤波)

中值滤波算法以某像素的领域图像区域中的像素值的排序为基础,将像素领域内灰度的中值代替该像素的值[1];如:以3*3的领域为例求中值滤波中像素5的值。中值滤波对处理椒盐噪声非常有效。

2026-06-15 05:53:51 232

原创 Dijkstra 迪杰斯特拉算法 完整详解

求解单源到全节点最短路径,结果全局最优。逻辑清晰、稳定性强,广泛用于路网、GIS 成本距离、导航、管网分析。基于优先队列实现后,时间效率优秀。

2026-06-15 05:42:33 381

原创 软件体系结构风格与软件体系结构

(高校 / 软考 / 教材通用版),完整划分并归类,附核心说明、典型代表、特点,同时区分大类与细分,方便记忆备考。,分经典基础架构、分布式架构、特殊架构三大类,附核心特点、典型场景,简洁好记。,共 12 种经典架构风格,额外补充常用衍生 / 现代风格。,传统程序、业务系统主力风格。,多用于网络 / 分布式场景。,组件为数据加工单元。

2026-06-12 17:05:56 297

原创 随笔(杂项)由绘制引入设计模式的思考

首先,抽象出所有支持的绘图类型,避免使用硬编码的字符串或魔法数字。2 None, // 浏览/无操作模式3 Point, // 绘制点4 Polyline, // 绘制线5 Polygon // 绘制面6};31011// 绘图类型枚举 (兼容 Qt4/C++98)13 Type_None = 0, // 浏览模式14 Type_Point, // 绘制点15 Type_Polyline, // 绘制线16 Type_Polygon // 绘制面17};1820{

2026-06-10 00:34:11 175

原创 http最容易踩的 5 大死穴

目录客户端服务器端【Qt 做高频网络通信】最容易踩的 5 大死穴!1. 解决了:单线程一忙就卡死、界面不动以前的坑:你的代码怎么解决:2. 解决了:高频发送 → 丢包、解析失败以前的坑:你的代码怎么解决:3. 解决了:HTTP 协议不会拆包以前的坑:你的代码怎么解决:4. 解决了:客户端高频请求 → 崩溃、卡死以前的坑:你的代码怎么解决:5. 解决了:多客户端同时连接 → 服务端炸掉以前的坑:你的代码怎么解决:最终超级大白话(你只记这个)这套代码解决了 3 个核心问题:一句话总结:** 这是一套能直接用在工

2026-06-09 23:50:00 256

原创 Qt 大型项目团队分工 + Q_DECL_IMPORT/Q_DECL_EXPORT 全套规范

plaintext2、人员职责拆分(解耦并行开发、互不冲突)表格qmake二、Q_DECL_IMPORT / Q_DECL_EXPORT 原理 & 标准写法(动态库跨平台导出核心)1、宏本质 :编译当前动态库项目时,类 / 函数导出(WIN=,Linux 空)Qt :别的项目引用该库时,类 / 函数导入(WIN=,Linux 空)2、标准模板:每个动态库必建 (固定格式,复制即用)以模块举例:cpp运行3、动态库 pro 配置(生成 dll/so,关键:)

2026-06-08 16:00:49 162

原创 企业级多人开发框架(多界面websocket通信)

直接复制 → 直接编译 → 直接运行。

2026-06-08 15:45:15 139

原创 框架架构 + 设计模式结构图

plaintext。

2026-06-08 15:42:29 201

原创 Qt 企业级模块化框架设计说明书

本框架为工业级 Qt 模块化架构,采用多 DLL 动态库拆分模式,实现界面、通信、数据、业务完全解耦。框架基于 WebSocket 实现高并发数据收发,满足高频数据采集、实时监控场景需求,同时支持多人团队并行开发、独立编译与版本迭代。本框架是一套标准企业级 Qt 分层模块化架构,基于 DLL 拆分、MVC、事件总线、生产者 - 消费者等经典架构思想打造,完全适配工业上位机、物联网监控、高频通信类项目。框架具备低耦合、高内聚、高并发、易扩展、易维护。

2026-06-08 15:37:13 271

Gitlab安装,搭建自己的服务!

Gitlab安装,搭建自己的服务!

2026-06-23

空空如也

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

TA关注的人

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