- 博客(366)
- 资源 (4)
- 收藏
- 关注
原创 vue 3极简教程草稿(未完成)
Vue 路由 = 用 URL 控制组件显示,通过 router-link 切换,router-view 展示,支持重定向、嵌套、动态参数、编程跳转和权限拦截。好,这次我给你一版**“极简 + 代码白话流程版总结”只保留最核心的东西**,一看就懂、一背就会 👌(内容来自你给的第 7 章课件)
2026-01-02 19:42:17
652
原创 CameraControl 技术架构说明
WinForms UI + Controller(ActionEvent)+ Command Queue(串行化相机操作)+ CameraModel(状态缓存)+ Observer(事件回调驱动 UI 刷新)+ EDSDK P/Invoke(薄封装)EDSDK 操作必须串行、要处理 busy/retry —— 命令队列很关键拍照/下载/LiveView 都是异步事件驱动 —— Observer 很关键。
2025-12-31 09:03:29
739
原创 CameraControl 技术架构说明文档-基于 Canon EDSDK
相机进入“电子取景器实时流”状态,把每一帧(通常是 JPEG)通过 EDSDK 以 stream 的形式送到 PC。PC 端不断拉帧并显示,同时可以在 LiveView 上做:对焦框信息(FocusInfo)触摸/点击对焦(ClickAF)执行 AF(DoEvfAF)变焦(Zoom)驱动镜头对焦(DriveLens:类似手动对焦步进)
2025-12-30 21:34:57
809
原创 5.4 文件系统与图像传输 API (File System & Image Transfer)
## 标准文件下载流程(推荐)1. EdsGetDirectoryItemInfo // 获取文件信息2. EdsCreateFileStream // 创建目标文件3. EdsDownload // 下载文件4. EdsDownloadComplete // 通知完成。
2025-12-24 09:40:42
631
原创 第 5 章 API Reference(API 详细说明)
在调用任何 EDSDK API(除获取设备信息相关 API)之前,终止 EDSDK 库的使用,并释放 SDK 内部已分配的所有资源。减少对象的引用计数,当引用计数为 0 时,对象会被自动释放。顺序、线程、生命周期一旦错,后面全部不稳定。获取当前连接到主机 PC 的相机列表对象。与指定相机建立逻辑连接(Session)。每一次“获取对象”,最终都必须有一次。初始化 EDSDK 库。增加指定对象的引用计数。关闭与相机的逻辑连接。
2025-12-24 09:36:20
290
原创 4 对象管理与属性(Object Management & Properties)
EDSDK 中的所有对象都通过进行管理。应用程序必须正确管理对象的生命周期,否则可能导致资源泄漏或 SDK 状态异常。
2025-12-24 09:33:09
305
原创 3 EDSDK 对象(EDSDK Objects)
EDSDK 采用来表示主机 PC 与相机之间的所有可控资源。所有对象都通过的形式进行访问与管理。
2025-12-24 09:16:52
403
原创 2 概览(Overview)
# 2.1 EDSDK 的功能概述(Functions of EDSDK)EDSDK 主要提供以下功能:- 连接并控制 Canon 数码相机- 控制相机的拍摄操作- 设置和获取相机属性- 获取相机状态- 下载相机中保存的图像文件- 接收并处理来自相机的事件通知。
2025-12-24 08:58:44
335
原创 页面切换后“蓝牙连接/数据丢失”的根因与遇到的其他问题的解决办法
BLE 状态被绑定到了页面 / Controller 生命周期characteristic 被释放notify 监听被 cancelRx 状态被重置👉 导致“逻辑断连”,而不是“物理断连”页面切换后数据丢失,不是 BLE 断了,而是 BLE 状态放错了层级。正确做法:BLE 常驻,Controller 可销毁,UI 只展示。
2025-12-14 16:44:09
417
原创 血氧仪模块设计与技术实现备忘录(PC-60FW)
血氧模块主要集中在 下(名字可能略有差异,但核心是这些):协议与数据模型负责按照 PC-60F 协议解析原始字节流,拆成: / 蓝牙与解析层使用 进行扫描、连接、发现服务/特征值订阅 notify 特征,组包后交给 对外暴露:业务控制层(GetX)UI 层路由与国际化路由:在 里注册:i18n:在 + 里增加 一组 key用文字版的“架构图”表示整个流程:3. PC-60F 协议设计与解析3.1 帧结构(通用)PC-60F 的 BLE 数据包采用固定帧头 + 长度 + CRC 的结构(
2025-12-11 21:54:57
658
原创 桑拿卡路里模块设计
📘 **桑拿卡路里模块设计文档**1. **模块目标**2. **卡路里消耗计算规则(核心公式)**🟧 A 区间:40–55°C🟥 B 区间:56–65°C🔥 卡路里计算公式3. **模块整体结构**4. **卡路里数据模型(已完成)**5. **CalorieController 设计(核心)**6. **卡路里主界面 UI(卡路里6)**✔ A. 大圆形卡路里显示✔ B. 温度与时间✔ C. 对比昨日✔ D. 目标完成进度条(300 kcal 为 100%)✔ E. 健康建议✔ F. 历史记录。
2025-11-21 08:36:43
868
原创 桑拿控制器项目持久化层笔记
GetStorage 负责简单状态(KV),Hive 负责结构化历史记录(对象)。整个项目所有持久化入口都在 AppStorage(),main.dart 启动时必须 init() 一次。
2025-11-20 17:38:32
725
原创 基于设备返回信息实现App界面按钮状态同步:原理与实践
首先在设备管理控制器(// 用.obs将布尔值转为响应式RxBool// 其他设备管理逻辑...这里的.obs是关键,它让普通布尔值变成了可被监听的响应式数据。当发生变化时,所有依赖它的UI组件都会收到通知。通过GetX的响应式机制,我们可以轻松实现"设备返回信息驱动UI状态更新"的需求。用.obs定义可监听的响应式数据在UI中用Obx建立数据依赖正确处理设备返回信息并更新响应式变量这种模式不仅适用于开关按钮,还可推广到所有需要与设备状态同步的UI组件,为用户提供真实、一致的操作体验。
2025-11-19 09:52:52
823
原创 温度单位切换到底应该由谁负责
UI 发指令给 controller(如:dm.switchUnitToC()、dm.switchUnitToF())否则会出现“你的 UI 显示 °F,但设备仍然认为自己在 °C 运作”的矛盾。controller 发 BLE 0x23 切换设备。那到底哪一种是“正确、专业、工程上最合理”的?UI 仅根据 controller 的单位显示。设备还以为 65°C 是上限。UI 换算显示 149°F。UI 点击切换 °C/°F。但设备内部依然是摄氏逻辑。如果设备协议不支持切单位。需要设备端安全逻辑严格。
2025-11-17 14:43:13
355
原创 app中时间刻度为什么不做成环形
从 技术上 来说,时间刻度当然可以画成 闭环(360° 完整刻度),但如果你这么改,会出现一系列 设计、视觉与交互逻辑上的冲突。你的 温度表盘 是:起点:-210°弧长:240°不是整圈是“开口圆弧(倒 U 型)”如果右边“时间表盘”变成:360°整圈刻度进度还是 240° 的渐变弧那么两个表盘:视觉会产生 风格冲突:左边是「弧形盘」右边是「完整仪表盘」用户看起来会感觉像是「两个完全不同风格的组件」。现在两个表盘共用:意思是:如果时间刻度变成“整圈刻度”,但进度弧还是 240°:视觉起点不对齐进度对
2025-11-17 14:39:01
721
原创 重点梳理一下数据特征分析方法与常见图表表示
Python 数据分析是一个系统性强、工具链完整的流程。从数据获取到建模可视化,每一个环节都有成熟的工具和方法支持。掌握这些工具和流程,不仅能提升数据分析的效率,也能更好地从数据中挖掘业务价值。未来趋势:自动化分析、低代码平台、实时数据处理将成为数据分析的主流方向。Python 作为生态最完善的语言之一,将继续在这一领域发挥核心作用。附:推荐学习资源Kaggle 数据集天池数据集Matplotlib 官方文档Pandas 用户指南后续将继续分享更多 Python 数据分析与机器学习实战内容。
2025-10-01 19:59:55
947
原创 Jupyter 中指定 Python 环境的几种方法
在 Jupyter 页面:Kernel → Change kernel → 选择其他环境。很可能 Jupyter 运行的是其他环境的 Python。用上面的方法2注册内核。选择方法1或方法2都很简单,试试看!这样启动的 Notebook 默认就使用当前环境。
2025-09-23 21:36:41
666
原创 WiFi网络:从协议到拓扑的解析
在如今的数字时代,WiFi已成为我们生活和工作中不可或缺的一部分。无论是居家上网、办公室办公,还是公共场所连接网络,都离不开WiFi技术。但你是否真正了解WiFi网络背后的原理?今天,我们就通过一篇深度解析,带大家走进WiFi网络的世界,从核心协议到网络拓扑,全方位认识WiFi。
2025-09-23 06:14:13
1192
原创 AI大模型时代,Python数据分析与挖掘
文章从工具链、工作重心、新维度和技能要求四个方面,为你解读如何成为新时代的“超强数据分析师”。ChatGPT、Copilot等工具的强大能力,似乎让传统的SQL查询、Pandas数据处理、Sklearn建模变得触手可及,甚至不再需要人工深度参与。AI大模型非但没有让Python数据分析与挖掘过时,反而像给它装上了一台“超级引擎”,彻底重塑了工作流,将数据分析师的价值天花板提升到了一个前所未有的高度。传统分析中,数据清洗、特征工程等准备工作(“数据脏活”)可能占据了80%的时间。,这是革命性的突破。
2025-09-21 10:35:15
1046
原创 HiBurn 测试
最高可以2000000再高就容易丢包了。然后打开HiBurn.exe。然后插入开发板,选择串口设备。如果没有就安装CH340驱动。记得勾选auto burn。点击connect开始烧录。按下芯片复位键就开始烧录了。如果还是不行就重启软件。
2025-09-10 11:28:51
166
原创 vmware 启动虚拟机后蓝屏问题的解决办法
在注册表编辑器中,找到Scenarios目录下的HypervisorEnforcedCodeIntegrity项,把其中的Enabled项的值设置为0(本PC已经没有了这个文件,换成CredentialGuard了)之后输入bcdedit 查看启动管理器,查看hypervisorlaunchtype是不是off状态的,重启之后生效。将其中的Enabled项的值设置为0,重启计算机,即可关闭“内存完整性”选项。CPU 虚拟化(Intel VT-x / AMD-V)在 BIOS 关闭。
2025-09-02 19:58:30
1750
原创 Qt5 多媒体大纲
熟悉 Qt 的信号槽机制、事件循环掌握.pro工程文件配置(熟悉常见的音视频格式与编解码器基础确认安装了multimedia模块与插件熟悉调试方式(如设备权限、驱动、插件依赖)
2025-09-02 19:55:33
307
原创 虚拟机没有网络图标问题的解决办法
2️⃣ 检查宿主机 VMware 服务。4️⃣ 检查 Ubuntu 内部网卡。5️⃣ 修复 VMware 网络配置。3️⃣ 检查宿主机虚拟网卡。1️⃣ 检查虚拟机设置。
2025-08-30 09:48:11
465
原创 多线程消息发送处理器的设计与实现
避免消息打包、压缩等耗时操作阻塞主线程(特别是UI线程)控制消息发送节奏,防止网络拥塞提供线程安全的消息缓冲机制SendText 类展示了多线程编程中生产者-消费者模型的典型实现,通过合理的线程同步和资源管理,实现了高效、安全的消息处理。这种设计模式在网络编程、GUI应用程序等需要异步处理的场景中有着广泛的应用。线程安全是首要考虑因素资源管理需要精心设计异常处理必不可少性能优化要在保证正确性的前提下进行。
2025-08-29 14:10:15
813
原创 多线程图像发送处理器的设计与实现
避免图像编码、压缩等耗时操作阻塞主线程(特别是UI线程和视频采集线程)控制图像发送节奏,防止网络拥塞提供线程安全的图像缓冲机制优化图像传输效率(编码、压缩、格式转换)SendImg类展示了多线程图像处理与传输的典型实现,通过合理的线程同步和图像处理技术,实现了高效、安全的图像传输。这种设计模式在视频通话、远程监控、图像分享等需要实时图像处理的场景中有着广泛的应用。图像处理与网络传输的平衡内存管理的正确性和效率异常情况的全面处理性能监控和优化。
2025-08-29 14:09:55
616
原创 多线程网络数据接收与处理框架设计
从网络接收队列中获取数据并分发给处理模块避免网络数据接收阻塞主线程(UI线程)提供线程安全的数据接收和分发机制实现优雅的线程停止和资源清理RecvSolve类展示了多线程网络数据接收与处理的典型实现,通过生产者-消费者模型和Qt信号槽机制,实现了高效、安全的数据接收和分发。这种设计模式在网络编程、实时数据处理等场景中有着广泛的应用。线程安全是首要考虑因素资源管理需要精心设计性能监控和优化是持续过程异常处理必不可少。
2025-08-29 14:09:37
914
原创 Partner 类开发:会议参与者可视化控件
在会议界面中可视化展示参与者信息提供参与者视频缩略图显示功能实现参与者选择与交互功能支持IP地址显示和传递Partner类是一个典型的自定义Qt控件,展示了如何通过继承和扩展现有控件来实现特定功能。自定义控件开发:了解如何基于现有Qt控件创建自定义控件图像处理:掌握图像显示、缩放和优化的基本技术交互设计:实现鼠标事件处理和用户交互功能信号槽机制:使用信号槽实现组件间通信性能优化:了解界面渲染和内存管理的优化技巧。
2025-08-29 14:09:22
798
原创 Qt自定义UI组件的创建与使用
本课程将深入讲解Qt框架中自定义UI组件的开发方法与使用技巧。通过实际案例Partner类(会议参与者可视化控件)的分析,帮助学生掌握自定义控件的完整开发流程,从设计思路到实际应用。设计理念:选择最接近需求的Qt现有控件作为父类,最大化代码复用Partner类实现class Partner : public QLabel // 继承QLabel,复用其图像显示功能// 类实现...选择依据QLabel已具备图像显示能力,符合Partner的主要功能需求。
2025-08-29 14:09:02
1000
原创 Qt自定义聊天消息控件ChatMessage:初步实现仿微信聊天界面
ChatMessage是一个继承自QWidget的自定义控件,专门用于聊天场景中的消息展示。用户自己发送的消息(右对齐,蓝色气泡)他人发送的消息(左对齐,白色气泡)系统通知消息(居中,灰色文本)时间戳消息(居中,浅灰色时间分隔符)
2025-08-28 22:04:46
403
原创 VMware + Ubuntu 桥接模式不能联网 的常见原因、排查思路和解决步骤
如果获取不到 IP → DHCP 没成功,说明 VMware 没桥接好或路由器拒绝。
2025-08-28 22:03:45
1475
1
原创 音视频开发实训:从零到一的四个关键里程碑
M1验证技术可行性 - 做出"能跑的原型"M2解决核心需求 - 打造"可用的语音工具"M3完善功能体验 - 实现"完整的视频会议"M4优化性能体验 - 准备"正式上线的产品"通过这种分阶段、渐进式的开发方法,团队能够有效控制风险,保持开发节奏,最终交付一个高质量的音视频应用。
2025-08-22 18:31:29
931
原创 音视频处理工作室:实时通信的媒体层设计
媒体层就像是一个组织有序的音视频处理工作室,每个组件各司其职又协同工作。理解每个"工作室成员"的角色和职责,有助于我们在开发实时通信应用时做出正确的技术选择。分工明确:每个组件专注自己的职责易于扩展:可以单独升级某个组件而不影响整体灵活配置:根据需求选择启用哪些功能就像实际的工作室一样,你可以根据项目需求和资源状况,决定是组建一个"基础工作室"(仅采集和播放),还是一个"全功能工作室"(包含完整的编解码处理)。
2025-08-22 17:43:00
693
原创 从快递运输与排队办事,看实时通信的MVP方案与增强方案
特性MVP方案增强方案传输协议所有数据统一走TCP媒体走UDP/RTP,控制走TCP/TLS穿墙难度简单(TCP易穿透)较复杂(需处理UDP穿透)延迟表现一般(TCP有确认机制)优秀(UDP低延迟)可靠性高(TCP保证送达)媒体可丢,控制可靠安全性无加密SRTP加密媒体,TLS加密控制音质处理基本优先传输有jitter buffer抗抖动实现复杂度低,适合快速原型高,需要专业优化。
2025-08-22 17:32:48
624
原创 CloudMeeting 客户端(Qt6)设计方案
目标:用 Qt 6.5+/6.7 LTS 实现一款跨平台(Windows/macOS/Linux,后续可扩展 Android)的音视频会议客户端,支持实时音视频、文本聊天、成员管理、日志与监控,满足教学与中小型团队实际使用。本地视频:QCamera → QVideoSink(QVideoFrame)→ 转 QImage(或 GPU 纹理)→ (H.264/JPEG) → videoSendQ → 服务器 → UI 渲染。├─ SignalingClient(TCP/TLS:登录、心跳、控制信令)
2025-08-22 16:26:08
592
原创 Qt5 → Qt6 教学差异对照表与迁移检查清单
编译器升级到 C++17(GCC ≥ 8, MSVC ≥ 2019, Clang ≥ 10)。 Qt6 安装完成(推荐 6.5 LTS 或 6.7 以上版本)。 项目构建工具迁移: Qt Multimedia Qt Web Qt Script Qt XMLPatterns Qt Sensors / Bluetooth / Positioning 正则表达式: OpenGL: 打印/文档: 事件循环: QML 导入模块版本检查: QtQuick Controls 1 已移除,UI 需要用 QtQuick Co
2025-08-22 16:25:19
823
accp6认证标准等
2014-08-21
hibernate4+spring4+springmvc+ehcache+自己写的cache系统
2018-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅