- 博客(159)
- 资源 (2)
- 收藏
- 关注
原创 Qt6 QML Flickable控件详解
Flickable 是 Qt Quick 中实现滚动交互的基石,掌握其属性与机制后,可灵活应对嵌入式设备的界面需求(如泛广电监视器的多源预览、菜单导航)。结合性能优化技巧(如裁剪、缓存、简化内容),能在资源受限的环境中保持流畅体验。惠州西湖。
2026-01-27 14:50:08
520
原创 Qt6 QML SrollView用法详解
Qt6 QML ScrollView 的核心是“包裹可滚动内容”,通过灵活配置滚动条策略、程序化控制滚动位置、定制外观,可满足绝大多数滚动场景需求。需注意单直接子项和性能优化(大量数据用 ListView),结合 Flickable 的高级属性可实现更自然的滚动体验。惠州西湖。
2026-01-26 14:39:35
664
原创 Qt6 QML Loader的加载时机,10分钟讲清楚
Qt6 QML Loader的加载时机可归纳为:“当source被赋值、active从false变true,或替换现有内容时,按模式(同步/异步)触发加载;加载完成后实例化组件,通过状态和信号反馈进度。惠州西湖。
2026-01-21 14:14:37
476
原创 QT/QML qmlRegisterType()函数浅谈
Q_OBJECT// 公开属性(QML 可读写)public:= name) {signals:// 槽函数(QML 可直接调用)private:是 Qt 混合编程的核心工具,通过它可以将 C++ 的功能(如硬件控制、数据处理)无缝集成到 QML 界面中。惠州西湖。
2026-01-12 14:58:58
936
原创 VUE3中,reactive()和ref()的区别10分钟讲清楚
两者可以混合使用,核心是理解它们的响应式边界~(包括普通对象、数组、Map、Set 等),返回一个。(处理所有类型,避免踩坑);若明确处理复杂对象,用。),新对象未被 Proxy 包裹,不再是响应式的。:直接在模板中使用代理对象的属性(无需额外处理)。(基本类型 + 对象类型),返回一个Ref<T>:直接访问对象的属性(无需额外语法)。到组件中时(避免失去响应式),可以用。(无论基本类型还是对象类型)。),否则会抛出警告且无效。的核心 API,但它们的。,若直接赋值新对象(如。),直接用变量名访问。
2026-01-08 16:15:17
520
原创 tsconfig配置文件增加“esModuleInterop“: true,有什么作用?
是 TypeScript 中提升模块互操作性的关键配置,它让你可以:用 ESM 的自然导入 CommonJS 模块;避免手动处理与的转换;写出更简洁、符合现代 JS 风格的代码。惠州西湖。
2026-01-03 12:38:14
551
原创 HDMI GC_PACKET和INFO_FRAME的区别浅谈
视频像素流(TMDS通道)、音频流(嵌入/分离)、辅助数据GC_PACKET属于控制数据包(Control Packet),是底层同步与控制的核心载体;INFO_FRAME属于元数据帧(Metadata Frame),是源设备向接收端传递“高级属性”的载体。GC_PACKET是“告诉接收端怎么接”(基础同步与控制);INFO_FRAME是“告诉接收端怎么用好”(高级属性与体验优化)。在ZynqMP开发中,GC_PACKET通常由IP核自动处理,而INFO_FRAME需要软件配置。
2025-12-25 17:58:31
613
原创 Vue3的 nextTick API 5分钟讲清楚
nextTick的本质是「DOM 更新完成的通知器」——它帮你衔接「数据变化」和「DOM 可用」之间的间隙。对于需要精确控制 DOM 操作的场景(比如嵌入式设备上的前端界面?),nextTick是必不可少的工具。
2025-12-21 11:39:30
644
原创 CSS属性backdrop-filter浅谈
要理解 backdrop-filter「背后的区域」(而非元素自身内容),是实现「毛玻璃」「背景虚化」等视觉效果的利器。用于修改元素(即被该元素遮挡的内容)的视觉表现,支持模糊、亮度/对比度调整、灰度转换等滤镜操作。它与filterfilter:作用于(如图片、文字);:作用于(需元素半透明/透明以露出后方内容)。
2025-12-20 19:57:00
425
原创 浏览器IndexedDB技术,5分钟讲清楚
IndexedDB 是浏览器端的“轻量级数据库”,适合存储大量、结构化、需高效查询的本地数据。对于想构建的“独立 APP”(尤其是 PWA 或离线应用),它是实现离线能力和复杂客户端逻辑的关键技术之一。后续学习可关注:用idb(第三方库)简化 IndexedDB 的 Promise 封装(避免原生回调地狱);与 Service Worker 配合实现离线缓存策略(比如 Cache API + IndexedDB 组合);
2025-12-18 10:15:17
740
原创 为什么Rust的编译工具依赖C语言的编译工具?
系统级编程无法完全脱离 C 生态的底层支撑(链接器、系统库、ABI 兼容),同时历史延续和生态复用也强化了这种依赖。但随着 Rust 的发展,这种依赖正在逐步减弱——未来的 Rust 可能会更独立,但短期内仍会与 C 工具链共存。惠州西湖。
2025-12-15 11:23:14
918
原创 VUE3 动态Prop 10分钟讲清楚
Vue3 的动态 Prop 是父组件向子组件传递动态数据的核心机制,其本质是用响应式变量/表达式替代静态字面量,结合 Vue 的响应式系统实现“数据联动”。关键要点:用绑定动态值(变量、表达式、对象);遵循单向数据流(子组件改 Prop 需emitComposition API 中用接收,通信;用类型验证确保数据正确性。掌握动态 Prop 后,你可以轻松构建组件化、可复用的 UI 结构,为后续用 Web 技术(Vue3 + Rust 后端)构建产品打下基础。惠州西湖。
2025-12-12 21:42:28
1271
原创 VUE3 data()函数浅谈
datadata()不能使用箭头函数,否则this会指向父级上下文(而非组件实例),导致无法访问组件的其他选项(如propsmethods// ❌ 错误:箭头函数导致 this 指向错误// ✅ 正确:普通函数,this 指向组件实例。
2025-12-12 21:06:00
1112
原创 VUE3 defineProps 5分钟讲清楚
是 Vue 3 组件通信的核心工具之一,通过简洁的语法实现了类型安全响应式绑定与灵活的校验配置。惠州大亚湾。
2025-12-12 14:02:12
1108
原创 Tauri框架是什么,它能做什么?
Tauri 是一个,核心定位是用 +,替代传统 Electron 等框架,为开发者提供更优的性能、更小的体积和更强的安全性。Tauri 能给你带来“Web 前端灵活性 + Rust 后端硬核能力”的组合惊喜,尤其适合流媒体处理、跨平台 GUI 的场景。
2025-12-04 09:15:15
1342
原创 CSS3 display属性浅谈
取值是否独占行能否设宽高能否设上下margin典型场景block是能能容器、标题、段落inline否不能不能文本修饰、链接否能能按钮、图标、导航项flex取决于方向能(子项)能(子项)一维布局(导航、表单)grid二维能(子项)能(子项)二维布局(卡片、仪表盘)table-cell否(同行)能能多列等高、垂直居中none隐藏元素。
2025-11-28 11:44:37
934
原创 React组件状态(State)浅谈
状态是组件内部的可变数据,用于描述组件的「当前情况」(比如计数器的数值、表单的输入内容、弹窗的显示/隐藏)。它是驱动UI更新的核心——当状态变化时,React会自动重新渲染组件,以反映最新的状态。React状态是组件动态行为的核心,其设计遵循「单向数据流」「不可变性」「最小权限原则简单状态用useState;复杂状态用useReducer;跨组件共享用Context;大型应用用第三方库(Redux/MobX)。掌握状态的关键是理解「数据驱动UI」的本质。
2025-11-25 18:00:32
872
原创 linux timedatectl时间管理命令基础用法
timedatectl 的核心目标是解决设备时间的准确性一致性和可维护性系统时间(System Time):内核维护的软件时钟(UTC时间),受NTP同步、手动设置等影响。硬件时钟(Hardware Clock/RTC):主板RTC芯片存储的时间(通常为本地时间或UTC,取决于配置),掉电后仍保留。时区(Timezone):系统本地时间与UTC的转换规则(如对应UTC+8)。NTP同步:通过网络时间协议(如或第三方NTP服务)自动校准系统时间。
2025-11-19 16:31:56
1090
原创 JS Promise基础用法
Promise是一个表示异步操作最终完成或失败的对象。Pending(等待中):初始状态,操作未完成或未失败。Fulfilled(已成功):操作成功完成,结果可用。Rejected(已失败):操作失败,原因(错误)可用。状态一旦从Pending转换为Fulfilled或Rejected,就不可逆转(不可变)。Promise是 JavaScript 异步编程的核心工具,通过状态机、链式调用和丰富的静态方法,解决了回调地狱问题。关键要点:用封装异步操作,通过resolvereject控制状态。用。
2025-11-17 19:44:08
739
原创 有了Node.js Express是否还需要Nginx?
Express是“业务大脑”:负责处理动态请求和业务逻辑;Nginx是“门神+快递员”:负责安全防护、静态资源分发、请求转发、HTTPS加密等。生产环境必搭Nginx,否则你的Express应用会面临性能瓶颈、安全风险、HTTPS配置复杂等问题。开发环境可以不用,但生产环境一定要加!
2025-11-17 16:46:13
1167
原创 CommonJS是什么,5分钟讲清楚
CommonJS 是 JavaScript 模块化的早期标准,解决了服务器端 JS 的代码组织问题,是 Node.js 生态的基础。虽然现在 ES6 模块逐渐成为主流,但理解 CommonJS 有助于掌握 JS 模块化的演进,以及兼容旧项目或打包工具(如 Webpack 对 CommonJS 的支持)。惠州大亚湾。
2025-11-17 15:44:19
689
原创 Qt QByteArray类型,10分钟讲清楚
在Qt开发中,QByteArray 是处理(如ASCII/Latin-1/UTF-8)和 的核心容器类。它类似C++的或C风格字符串,但提供了更安全、更便捷的API,且与Qt生态(如QString、网络模块、文件IO)深度集成。QByteArray的设计目标是:存储(如图像像素、RTP payload、加密数据);处理(如HTTP头部的ASCII文本、RTSP协议的UTF-8 URL);替代C风格的char[],避免手动内存管理和越界风险。QByteArray。
2025-11-17 09:15:39
1393
原创 Qt QHostInfo::lookupHost()函数,10分钟讲清楚
(如GUI主线程),适合需要“后台解析+前台响应”的场景(比如流媒体播放器输入域名后,异步解析IP再连接服务器,避免界面卡顿)。,通过回调机制实现非阻塞查询,适合需要“后台解析+前台响应”的场景(如流媒体服务器连接、设备发现)。返回查询的主机名(若输入是IP,则返回该IP的反向解析主机名,可能为空)。的结果封装,能快速实现DNS解析功能,提升嵌入式产品的用户体验。如果是IP,查询会直接返回该IP的封装(无DNS请求)。,查询对应的主机信息(如IP地址列表、别名)。等,适合需要更细粒度DNS控制的场景。
2025-11-15 17:58:03
1071
原创 Qt告警clazy-detaching-temporary浅谈
/ clazy:skip (在触发告警的代码行后添加)是 Qt 隐式共享类的性能陷阱,核心是避免对临时对象做修改。修复后可减少不必要的深拷贝,提升嵌入式设备的性能表现。
2025-11-15 15:22:51
851
原创 QT QML Item基类浅谈
的子项会按Z-order从顶到底处理事件,若上层子项拦截事件,下层无法接收。的核心属性和方法,是掌握QML开发的关键一步——所有复杂的界面组件,最终都是。:深度值(Z-order),数值越大越靠上绘制(解决重叠项的遮挡问题)。:仅处理逻辑(如坐标转换、状态管理),无需显示内容。:作为父项接收事件,分发给子项(如自定义按钮的背景。:定义状态切换时的动画效果(如淡入淡出、滑动)。,它不负责具体渲染,却提供了构建界面所需的。:相对于父项的坐标位置(左上角为原点)。,通过锚定父项/兄弟项的位置实现对齐。
2025-11-15 10:48:33
1204
原创 流媒体,包含哪些技术?Zynq MP方案
FLV(Flash Video,低延迟,适合直播)、TS(Transport Stream,广电行业标准,抗丢包强,如卫星/有线电视)、MP4(存储常用,需分段才能实时传输)。AAC( Advanced Audio Coding,高压缩比、低延迟)、G.711(PCM压缩,广电常用,低延迟)、Opus(低延迟、高音质,适合WebRTC)。将流切片成TS文件,通过HTTP传输,支持自适应码率(ABR),适合广域网播放(如手机端),但延迟较高(10-30s)。
2025-11-14 10:14:39
1478
原创 Linux systemd闲谈杂话(第一篇:概述)
systemd 是嵌入式 Linux 开发中不可或缺的工具,尤其在 ZynqMP 等高性能 SoC 方案中,其并行启动、服务管理、依赖解析特性可显著提升系统可靠性和开发效率。•掌握.service文件编写,明确定义依赖和资源限制。•利用systemctl和journalctl高效管理服务与排查问题。•结合嵌入式场景优化(裁剪、只读适配、资源限制)。惠州西湖。
2025-11-13 09:31:44
1447
1
原创 CONFIG_TRACEPOINTS和CONFIG_FTRACE的作用
•:给内核打“静态标记”,让工具能采集特定事件;•:提供“跟踪引擎”,整合各种数据源(包括静态跟踪点),实现灵活的跟踪与分析。两者结合,是Linux内核调试与性能优化的“黄金组合”——尤其是在嵌入式系统中,无需额外硬件就能深入分析内核行为,非常实用。深圳坝光。
2025-11-11 19:10:32
912
原创 git如何回退到指定提交
修改历史提交(比如合并最近几个提交为一个,或修改提交信息)。的提交,想彻底回到某个版本(比如测试分支的bug修复)。到目标提交,进入「分离头指针」状态,可查看代码或测试,但。:后续提交的修改会从「暂存区」回到「工作目录」,可通过。(本地临时日志,可找回误删的提交,有效期约90天):想撤销「暂存」操作,但保留工作区的代码(比如刚。(其他人的提交会被覆盖),禁止在公共分支使用!,该提交的内容是「撤销目标提交的所有更改」。的提交,想安全撤销(避免影响团队协作)。会永久丢弃未提交的修改,操作前建议用。
2025-11-10 20:03:50
1123
原创 什么是量子纠缠?大白话
量子纠缠是量子系统中粒子间的“深度关联”,它们的状态相互绑定,即使分离后仍保持同步。这种现象挑战了经典物理的“局域实在论”(认为物体的属性独立于观测且受空间限制),是量子力学最反直觉却已被实验证实的特性之一,也为未来量子技术的发展奠定了基础。
2025-11-10 17:40:41
1026
原创 Unable to handle kernel NULL pointer dereference at virtual address错误分析
此次内核Oops的本质是。
2025-11-10 16:54:46
442
原创 Linux内核的Oops机制浅谈(ZynqMP)
Oops是Linux内核的“自我诊断报告”,它通过详细的上下文信息帮助开发者定位内核空间的错误。掌握Oops的分析方法能快速排查驱动或内核模块的问题。关键是。
2025-11-10 16:52:18
842
原创 Qt/QML DelegateModel基础用法示例
/ 通知 DelegateModel 选中项// DelegateModel 中处理选中逻辑console.log("选中项:", model.get(index).title);DelegateModel 是 Qt Quick 中数据与呈现解耦的核心组件,通过封装模型数据和委托管理,解决了多视图共享数据的痛点。•降低维护成本:数据只存一份,委托独立配置;•提升性能:委托回收池优化滚动体验;•增强灵活性:动态切换委托,适配不同场景。参考资料惠州大亚湾。
2025-11-07 10:56:59
1220
原创 Qt/QML ListView组件基础用法示例
对于大量数据或复杂逻辑(如数据库查询、网络加载),建议用 C++ 实现或•C++ 端:实现rowCount()(返回项数)、(返回指定角色数据)等方法。•QML 端:注册模型类型后使用:ListView {model: FruitModel {} // 自定义 C++ 模型ListView是 Qt Quick 中灵活、高效的线性列表组件,通过模型-视图-代理模式实现了数据与视图的分离。惠州西湖。
2025-11-07 10:38:42
1408
安霸h22s75规格书:H22S75-DTS-003-0.1-Ambarella-Datasheet.pdf
2023-02-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅