- 博客(947)
- 资源 (20)
- 收藏
- 关注
原创 C++ Qt零基础入门进阶与企业级项目实战教程与学习方法分享
本套课程由浅入深,详细的介绍了C++入门、Qt入门进阶到企业级项目实战、C++ Qt开源项目学习。相信通过本套教程的3门课程的学习,大家可以很好的掌握C++ Qt开发,课程提供答疑服务。
2023-09-21 23:00:33
5949
原创 vs code永久关闭默认的chat窗口
如果在vs code里安装了claude code插件,会有两个chat窗口,一个是github copilot, 可以设置永久关闭。打开设置,搜索 github.copilot.chat.enabled,取消勾选,如下图:然后重启vs code即可。
2026-04-28 13:32:42
112
原创 Windows Win10/Win11 OpenClaw安装配置教程[亲测可用]
本篇博客介绍如何在Win10 Win11安装配置OpenClaw。
2026-04-04 14:44:05
1388
1
原创 claude code配置国产大模型Kimi、GLM、MiniMax、DeepSeek
claude code配置国产大模型Kimi、GLM、MiniMax、DeepSeek
2026-04-02 22:21:20
2046
原创 V4L2教程(10):完整项目实战,基于Qt+V4L2的摄像头应用
经过前面9篇的学习,你已经掌握了V4L2从基础到高级的完整技术栈。本篇将把这些知识整合起来,构建一个功能完整的摄像头应用程序。我们将涵盖项目架构设计、GUI界面开发、功能整合以及发布部署。
2026-03-06 09:15:00
476
原创 V4L2教程(9):Qt6.8.3集成V4L2跨平台视频显示框架
本篇将带你学习如何在Qt6.8.3中集成V4L2,实现跨平台的视频显示应用。我们将涵盖Qt Widgets和QML两种方案,让你能够根据项目需求选择合适的技术栈。**本节学习目标**:- Qt6.8.3与V4L2集成架构- Qt Widgets视频显示方案- QML视频显示方案- 信号槽机制与V4L2回调集成
2026-03-06 09:00:00
326
原创 V4L2教程(8):H.264编解码与FFmpeg集成实战
本篇将带你学习如何使用FFmpeg进行H.264编解码,实现视频录制功能。**本节学习目标**:- 理解H.264编码原理- 掌握FFmpeg库的使用- 实现H.264视频录制- 学习视频解码和播放
2026-03-06 08:30:00
68
原创 V4L2教程(7):V4L2高级特性,多线程与多摄像头支持
本篇将带你实现V4L2的高级特性:多线程采集架构、多摄像头同步采集、以及性能优化技巧。这些特性是构建工业级视频应用的基础。**本节学习目标**:- 实现生产者-消费者多线程架构- 支持多摄像头同步采集- 掌握性能优化和错误处理技巧- 构建鲁棒的视频采集系统
2026-03-06 08:00:00
57
原创 V4L2教程(6):V4L2动态库封装设计,C++类架构与接口
本篇将带你学习如何设计优雅的C++类架构,封装成动态链接库(.so),并提供简洁的对外接口。**本节学习目标**:- 设计V4L2的C++类架构- 封装成动态链接库(.so)- 提供C和C++双接口- 使用CMake构建项目
2026-03-06 07:45:00
185
原创 V4L2教程(4):V4L2视频流采集实战,从启动到捕获
本篇将整合这些知识,实现一个完整的视频流采集程序。你将学会如何启动视频流、捕获帧数据、处理回调,以及使用select/poll实现高效的事件驱动采集。**本节学习目标**:- 实现完整的视频采集流程- 掌握select/poll异步事件处理- 编写帧数据回调机制- 学会采集时序控制和帧率统计
2026-03-05 21:54:24
86
原创 V4L2教程(5):YUV与RGB图像处理,格式转换与显示
本篇将深入讲解YUV和RGB像素格式,实现高效的格式转换算法,并使用OpenCV显示采集的画面。**本节学习目标**:- 理解YUV和RGB色彩空间原理- 掌握YUV420p、YUYV等常见格式- 实现YUV到RGB的转换算法- 使用OpenCV显示视频帧
2026-03-05 21:53:22
59
原创 V4L2教程(3):深入V4L2缓冲区管理,MMAP模式详解
本篇将深入讲解V4L2的三种I/O模式,重点剖析MMAP内存映射机制。**本节学习目标**:- 理解三种I/O模式的原理和适用场景- 掌握MMAP内存映射的工作机制- 实现缓冲区的申请、映射和释放- 理解缓冲区队列的状态流转
2026-03-05 21:47:14
68
原创 V4L2教程(2):V4L2基础API,设备打开、查询与格式设置
本篇将深入V4L2的核心API,学习如何打开设备、查询设备能力、枚举支持的格式,以及设置视频采集参数。这是开发V4L2应用程序的基础,也是理解后续高级特性的前提。**本节学习目标**:- 掌握V4L2核心数据结构(v4l2_capability、v4l2_format等)- 理解ioctl系统调用机制- 实现设备打开、查询、格式设置的完整流程- 编写第一个可运行的V4L2程序
2026-03-05 21:44:44
78
原创 V4L2教程(1):Ubuntu V4L2开发环境搭建与设备探索
欢迎来到V4L2学习指南的第一篇!本文将带你从零开始,在Ubuntu系统上搭建完整的V4L2视频采集开发环境。无论你是想开发视频监控、视频会议还是机器视觉应用,掌握V4L2都是Linux视频开发的必经之路。**本节学习目标**:- 理解V4L2的基本概念和架构- 搭建Ubuntu下的V4L2开发环境- 掌握v4l2-ctl等调试工具的使用- 学会检测和配置USB摄像头设备
2026-03-05 21:41:38
244
原创 C++ Qt面试题(11):定时器和线程有什么区别
在 C++ Qt 开发中,**定时器(QTimer)** 和 **线程(QThread)** 是两个完全不同的机制,但很多人会在“周期执行任务”时把它们混淆。下面从 **本质、工作机制、使用场景、性能影响、常见误区** 五个方面给你详细讲清楚。
2026-03-01 20:48:17
145
原创 ubuntu2404 docker安装mysql8
执行下面的语句时 docker run -d \ --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v ~/docker/mysql8/data:/var/lib/mysql \ -v ~/docker/mysql8/conf:/etc/mysql/conf.d \ -v ~/docker/mysql8/logs:/logs \ --restart always \ mysql:8.0 出现了如下错误提示。
2026-02-14 17:23:52
1027
原创 C++跨平台共享内存库Boost.Interprocess使用介绍
通用 C++ 项目:请使用。它是最强大、最灵活且文档最完善的方案。它解决了最难的“如何在共享内存中安全地使用复杂对象(如 vector)”的问题。Qt 项目:直接用。极简需求:如果不想引入任何第三方库,你需要自己编写一个简单的 Wrapper 类,内部用区分 Windows API 和 Linux POSIX API。这虽然麻烦,但对于只有几行代码的需求来说是可行的。
2026-01-10 21:28:35
248
原创 linux c共享内存POSIX API的用法
shm_open(): 创建或打开一个共享内存对象。类似于open(),但它不操作普通文件,而是操作内存对象。返回一个文件描述符(file descriptor)。: 设置共享内存对象的大小。新创建的共享内存对象大小为 0,必须调用此函数设置大小。mmap(): 将共享内存对象映射到进程的虚拟地址空间。这是读写数据的关键步骤,映射后就可以像操作普通指针一样操作这块内存。munmap(): 解除映射。进程结束或不再需要时调用。: 删除共享内存对象。类似于unlink()
2026-01-10 21:24:23
1035
原创 C++ io_uring介绍
C++ io_uring 是 Linux 高性能编程的未来。真正的异步 I/O、减少系统调用、减少内存拷贝、统一了网络和磁盘 I/O 接口。高并发网络服务器(HTTP/RPC)、高性能数据库、分布式存储系统。如果你在编写通用的业务代码,建议使用 Boost.Asio 等封装好的库;如果你在开发底层的存储引擎或极致性能的网关,深入学习并直接使用liburing是非常有价值的。
2026-01-10 21:18:20
1163
原创 WebRTC多人通信深度解析:从核心原理到架构选型
WebRTC(Web Real-Time Communication)作为一项革命性的实时通信技术,其核心在于实现浏览器或移动应用之间无需插件的点对点(Peer-to-Peer, P2P)音视频和数据通信。然而,在多人通信场景下,问题变得复杂。一个稳定、高效的WebRTC多人通信系统,其背后是一套精密的协议栈和架构设计。本章节将深入剖析WebRTC多人通信的三大核心支柱:信令交互、ICE协商以及媒体流传输与安全保障。信令交互是通信双方建立连接的“语言”,负责交换必要的元数据;
2025-12-21 23:19:35
448
原创 webrtc如何实现音视频同步
WebRTC 的音视频同步是:用 RTP timestamp 表示媒体时间,用 RTCP SR 把它映射到 NTP 时间,客户端以音频为主时钟动态调整视频播放。好,这一轮我按你要的三点一起讲,而且是真·源码级,不是概念图那种。① WebRTC 源码中 AV Sync 的关键类 & 函数② 用“文字时间轴图”画清楚同步过程③ SFU / MCU 架构下,同步责任的本质差异。
2025-12-21 22:44:18
232
原创 C++ Qt程序限制多开
如果你希望修改提示文字或唯一 key,只需要改 QSharedMemory 里的字符串和 QMessageBox 的文案即可。第二次运行时,这块共享内存已经被第一次运行的程序创建了,再调用 create 会失败,返回 false。表示已经有实例在运行,直接退出,不再执行后面的 MainWindow w;创建一段带有全局唯一 key 的共享内存对象,所有进程都能看到这个 key。第一次运行时,这块共享内存还不存在,创建成功,返回 true,程序正常继续。
2025-11-16 22:23:15
302
原创 C++20协程深度解析与实践指南
C++20 引⼊的协程(Coroutines)是⼀种特殊的函数,它能够在执⾏过程中被挂起(suspend),并在未来的某个时间点从挂起的位置恢复(resume)执⾏ 。这种机制使得编写异步代码变得如同编写同步代码⼀样直观,极⼤地简化了传统异步编程中复杂的回调函数(callback hell)和状态机逻辑 。
2025-11-13 08:22:40
208
原创 python *和**做参数的用法
函数定义中使用 *total = 0for num in args: # args是一个元组# 调用:直接传入多个位置参数print(sum_numbers(1, 2, 3)) # 输出: 6 (args = (1, 2, 3))# 函数调用中使用 * 展开numbers = [4, 5, 6] # 列表print(sum_numbers(*numbers)) # 输出: 15 (相当于 sum_numbers(4, 5, 6))# 函数定义中使用 **
2025-11-02 17:35:03
1340
原创 PySide6集成yolo v8实现图片人物检测、视频人物检测以及摄像头人物检测
本篇博客介绍Python YOLO目标检测, 并在PySide6应用里集成YOLO v8实现图片人物检测、视频人物检测以及摄像头人物检测。
2025-11-01 20:18:05
2041
1
原创 QtQuick3D入门(6):3D粒子系统
场景:HDR 天空盒 + 一个高反射球体 + 一个点光源。粒子表现:从上方特定区域发射大量“雪花”(当前使用的贴图可能是占位),粒子向下移动并在生命周期结束时消失,系统预热 15 秒以便初始即显示完整雪景。
2025-10-28 21:23:48
163
原创 QtQuick3D入门(5):实例化渲染
实例化渲染是一种优化技术,它允许你只用一个绘制命令(Draw Call)就渲染出成千上万个外观相同(或相似)的物体。它的核心思想是:提供一个“蓝图”:告诉GPU,“我要画一个立方体(或一棵树的模型)”。提供一个“数据列表”:你再给GPU一个列表,这个列表包含了每一个实例(instance)的独特信息,比如它的位置、旋转、缩放、颜色等。GPU完成工作:GPU接收到这个“蓝图”和“数据列表”后,会自己高效地循环这个列表,将蓝图模型在指定的位置、以指定的姿态和颜色等绘制出来。
2025-10-28 21:11:33
191
原创 QtQuick3D入门(2):材质 material
QtQuick3D的材质大部分也是参照OpenGL的实现,只是在OpenGL里使用起来刚方便。在 OpenGL 的 3D 开发中,材质(Material)用于描述物体与光线的交互方式,是光照计算中非常关键的一部分。材质决定了物体的视觉效果——比如是否看起来是金属、塑料、玻璃或皮肤。在现代 OpenGL (尤其是基于着色器的管线,例如 OpenGL 3.3+)中,材质通常通过 uniform 或 纹理贴图 的方式传递给着色器。
2025-10-27 22:07:12
203
原创 Python偏函数partial的用法
Python偏函数partial用法详解 摘要:Python的functools.partial用于创建部分参数绑定的函数版本,简化函数调用。文章介绍了7个核心用法:1)基本参数绑定规则;2)与map/sorted等标准库函数配合;3)回调函数传额外参数;4)创建参数化装饰器;5)与lambda的对比;6)调试属性;7)类方法中的partialmethod。partial能固定部分参数,返回可调用对象,适用于柯里化、回调传参等场景,比lambda更具可读性和可序列化优势,是Python函数式编程的重要工具。
2025-10-23 22:10:13
755
原创 python asyncio的各种用法与代码示例
本文是一份Python asyncio实战手册,涵盖从基础到进阶的核心概念和代码示例。主要内容包括:async/await语法基础、并发执行(create_task/gather/as_completed)、超时控制与取消(wait_for/timeout)、同步原语(Semaphore/Lock/Event)、生产者-消费者模式(Queue)以及Python 3.11+的TaskGroup特性。所有示例仅依赖标准库,适配Python 3.10+,并特别标注了3.11+专属功能。
2025-10-23 21:59:27
825
原创 C++ std::unordered_map使用结构体为key与自定义哈希函数
在使用std::unordered_map时常见的是用基本数据类型作为key, 例如int、string等等,如果用到自定义类型,例如结构体或者类,那么就要需要额外提供第 3 个参数"哈希函数",有时候还要提供第 4 个参数"相等比较器"。所以 unordered_map 一般有 最多五个模板参数。
2025-09-20 15:58:15
378
C++ QMainWindow无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小
2024-04-23
Qt蓝牙串口源码支持十六进制发送、字符发送、定时发送
2022-02-22
支持向量机通俗导论(理解SVM的三层境界)PDF
2018-04-13
jsoncpp_sdk_x64.rar
2020-04-06
C# TCP网络通信示例:多人聊天发文件
2018-04-02
很全的 Qt qss
2020-09-29
c++ PImpl实现机制
2021-09-15
C++/OpenCV2.4.9 数字精确识别源码
2017-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅