- 博客(1316)
- 资源 (89)
- 收藏
- 关注
原创 Qt 数值边界控制详解:qMin、qMax 与 qBound 用法及代码示例
本文系统介绍了Qt中qMin、qMax和qBound三个全局模板函数的用法。它们用于高效处理数值范围限制问题,如滑块取值、颜色分量裁剪、窗口尺寸约束等。函数均为constexpr,支持类型推导,但需注意参数类型一致、qBound参数顺序(min, val, max)及min <= max的前提。文中通过实战示例说明其在界面联动、进度计算中的应用,并总结了常见坑点,强调类型统一、避免悬垂引用与逻辑错误,提升代码安全性与可读性。
2026-11-12 11:00:59
121
原创 QtGlobal 详解:Qt 的全局声明中心
本文详解Qt的全局声明中心QtGlobal,涵盖基础类型(如qint32、qreal)、工具函数(qMin、qSwap)、断言宏(Q_ASSERT)、日志系统(qDebug)及平台检测宏(Q_OS_WIN)。它统一管理跨平台兼容性,确保代码在不同系统间一致运行。强调使用qreal替代double以提升可移植性,注意qMin/qMax类型一致性与qBound参数顺序,并建议用普通if进行接口校验而非依赖断言。日志分级输出便于调试与生产监控,配合qSetMessagePattern可定制格式。掌握QtGloba
2026-11-12 10:57:49
107
原创 <QtMath> 详解:Qt 数学函数的分类、坑点与代码示例
QtMath 是 Qt 提供的数学函数封装,统一使用 qreal 类型,确保跨平台一致性与类型安全。其函数如 qSin、qSqrt 等均基于弧度,需注意角度转换(qDegreesToRadians)。常见坑点包括:三角函数参数误用角度、qRound 对负数舍入行为特殊、非法输入导致未定义结果。建议在涉及 Qt 类型、QML 或跨平台项目中优先使用 QtMath,避免标准库混用带来的兼容性问题。
2026-11-11 10:37:52
308
原创 Android开发使用Java语言通过继承View的形式实现电池电量显示源码分享
本文分享了Android中使用Java通过继承View实现自定义电池电量显示控件的源码。通过自定义属性支持电量百分比、颜色渐变、边框样式及文字显示,结合Canvas绘制矩形、圆角及渐变效果,实现美观的电池图标。支持动态更新电量值,适配不同屏幕尺寸,适用于系统状态栏或应用界面中的电量展示。
2026-11-11 10:11:31
205
原创 Android开发使用Java语言通过继承View的形式实现Slider源码分享
本文分享了基于Android Java语言,通过继承View实现的自定义滑动条控件GlowSliderView。该控件支持动态颜色设置、触摸反馈与高斯模糊发光效果,具备可调节进度值、响应式布局适配及自定义属性功能,适用于需要美观交互体验的UI场景。代码结构清晰,易于集成与扩展。
2026-11-10 17:42:43
406
原创 Android开发使用Java语言通过继承View的形式实现速度仪表盘源码分享
本文分享了基于Android Java语言,通过继承View实现的速度仪表盘源码。通过自定义属性配置表盘外观,支持动态设置当前值、范围、红色警示区及单位。利用Canvas绘制双层圆环背景、刻度线、指针与数字标签,实现流畅的视觉效果,适用于车载或工业仪表场景。代码结构清晰,可直接集成至项目中使用。
2026-11-10 17:39:22
149
原创 Android开发使用Java语言通过集成View的形式实现滑环控制键盘
本文介绍使用Java在Android中通过自定义View实现滑环控制键盘。基于JoystickRingView类,结合径向渐变与模糊发光效果,打造可拖动的虚拟摇杆,支持实时输出坐标值。通过自定义属性灵活配置外观,配合触摸事件响应,实现平滑的交互体验,适用于游戏或遥控类应用开发。
2026-11-09 17:12:12
748
原创 Android开发使用Java语言通过集成View的形式实现雷达扫描界面源码分享
本文分享了使用Java在Android中通过自定义View实现雷达扫描界面的源码。基于RadarView类,支持圆周与扇形扫描模式,可配置扫描方向、周期及波束宽度。集成目标数据管理、航迹记录与多色标识(我方、敌方、中立、未知),采用蓝色基调渲染,结合动画实现动态扫描效果,适用于军事仿真、导航等场景。代码结构清晰,易于扩展。
2026-11-09 17:07:53
897
原创 Qt6 QClipboard 类详解:剪贴板操作——不止是文本中转站
本文详解Qt6中QClipboard类的使用,涵盖其跨平台剪贴板访问机制、三种模式(剪贴板/选区/查找缓冲区)、核心API(文本、图片、MIME数据操作)、信号监听及实战应用。通过简易剪贴板历史管理器示例,展示如何实现内容监控、去重与限长,适用于桌面应用开发。强调注意所有权管理、空值判断与平台兼容性,帮助开发者高效集成剪贴板功能。
2026-11-07 06:00:00
211
原创 Qt QMimeData 类详解:剪贴板与拖放数据交换的核心
本文详解Qt 6中QMimeData类的核心作用:作为剪贴板与拖放操作的数据容器,支持多格式数据(文本、HTML、URL、图像等)的统一封装与交换。通过setText、setUrls等接口设置数据,利用hasFormat和data()方法灵活读取,支持自定义MIME类型。结合QClipboard实现复制粘贴,配合QDrag与QDropEvent完成拖拽交互,提供完整示例代码,助力开发者高效实现跨应用数据传输。
2026-11-07 06:00:00
307
原创 Qt6 QTemporaryFile 详解:临时文件的安全创建与自动清理
本文详解Qt6中QTemporaryFile的用法,其核心优势在于自动生成唯一文件名并自动清理,实现临时文件的“安全创建与自动销毁”。通过模板机制(如XXXXXX)确保命名不冲突,继承自QFile支持读写、序列化等操作。适用于配置原子写入、大文件导出、进程间数据传递等场景。需注意检查open()返回值、避免Windows句柄占用、重命名前关闭文件,并合理使用setAutoRemove(false)控制生命周期。
2026-11-06 06:00:00
620
原创 Qt QBuffer 详解:内存缓冲区读写与实战用法
QBuffer 是 Qt 中用于内存缓冲区读写的 QIODevice 实现,可将 QByteArray 作为“文件”进行随机访问。它支持 open()、read()、write()、seek() 等操作,常用于数据序列化(配合 QDataStream)、内存加载图片、适配仅接受 QIODevice* 的 API。使用时需注意:必须先 open(),写后需 seek(0) 才能读取;若传入外部 QByteArray,其生命周期须长于 QBuffer。适用于小到中等规模内存数据处理,大文件应避免使用。
2026-11-06 06:00:00
556
原创 Rust+Slint 实现ModbusASCII从机调试助手源码分享
本工具通过「Tokio 异步运行时 + Slint 声明式 UI + 模块化协议处理」的组合,实现了一个功能完整的 Modbus ASCII/RTU 串口从机调试助手。其核心价值在于:将复杂的 Modbus 协议处理封装为简洁的 Rust API,同时通过 Slint 的响应式绑定提供流畅的调试体验,是学习 Rust 异步编程与桌面 GUI 开发的优秀范例。
2026-11-05 06:00:00
321
原创 Rust+Slint 实现Tooltip提示框源码分享
本示例的核心思路是:**用 Slint 的声明式语法把「提示气泡」封装成一个可复用组件,再通过按钮的悬停状态驱动气泡的显示与方向**。整体可以拆成三层来看:**组件层**(气泡与按钮怎么画)、**状态层**(悬停如何驱动显示)、**布局层**(气泡如何定位到按钮旁)。下面逐层展开。
2026-11-05 06:00:00
863
原创 PyQt+QML 实现ModbusRTU主机调试助手源码分享
本工具基于 **PyQt6 + QML(Qt Quick)** 构建跨平台桌面界面,底层通过 **pymodbus** 库实现 Modbus RTU 主机通信。整体架构分为三层:**界面层(QML)**、**桥接层(ModbusBridge)** 与 **协议层(ModbusMaster)**,三者通过 Qt 的信号与槽机制解耦联动。
2026-11-04 06:00:00
184
原创 PyQt+QML 实现ModbusTCP主机调试助手源码分享
本工具采用 **PyQt6 + QML + pymodbus** 三层架构,将界面渲染、业务逻辑与 Modbus 协议通信解耦
2026-11-04 06:00:00
191
原创 PyQt+QML 实现ModbusRTU从机调试助手源码分享
本工具的核心是 **PyQt6 + QML 构建界面**,**pymodbus 3.15.0 的 Simulator 模块模拟从机**,并通过 **信号/槽机制** 实现前后端数据交互。
2026-11-03 06:00:00
368
原创 PyQt+QML 实现MQTT从机调试助手源码分享
本工具采用 PyQt6 + QML 的混合架构,将 Python 的业务逻辑与 QML 的声明式界面分离,通过 Qt 的信号槽机制(Signal/Slot)实现前后端解耦。
2026-11-03 06:00:00
513
原创 Rust Slint实现Android的图案密码(图形解锁)源码分享
Android的图案密码(Pattern Lock)作为一种经典的屏幕解锁方式,自Android早期版本就存在,至今仍被许多用户喜爱和使用。
2026-11-02 06:00:00
767
原创 Rust+Slint 实现个性化消息通知栏源码分享
整个消息通知栏采用 **Rust 负责业务逻辑、Slint 负责界面渲染** 的前后端分离架构。Rust 侧维护消息的完整生命周期(创建、计时、过期清理),Slint 侧只负责把消息列表渲染成可视化的尖角箭头样式,并通过回调与 Rust 交互。
2026-11-02 06:00:00
795
原创 PyQt 实现Modbus从机调试助手源码分享
本工具采用 **PyQt6 界面层 + 后台线程 + modbus_tk 协议栈** 的分层设计,界面操作与协议处理完全解耦。
2026-10-31 06:00:00
160
原创 Rust+Slint 实现ModbusTCP从机调试助手源码分享
整个工具的核心价值在于:**用纯 Rust 实现一个轻量、可交互的 Modbus TCP 从机模拟器**,既可用于开发调试,也可用于教学演示。通过 Slint 声明式 UI 与 tokio 异步网络层的结合,代码结构清晰、扩展性强,后续可方便地增加 RTU 模式、报文录制回放等高级功能。
2026-10-31 06:00:00
267
原创 Rust+Slint 实现网络调试助手源码分享
- **Slint** 负责界面渲染与用户交互,所有 UI 更新通过 `slint::invoke_from_event_loop` 回到主线程执行,保证线程安全;- **Tokio** 提供异步 TCP/UDP 网络能力,避免阻塞 UI 线程;- **共享状态** 通过 `Arc<AtomicBool>`、`Arc<Mutex<Option<TcpStream>>>` 等在多任务间传递,实现连接状态、收发数据的统一管理。
2026-10-30 06:00:00
338
原创 Rust+Slint 实现MQTT协议调试助手源码分享
本工具基于 **Rust + Slint + rumqttc** 构建,整体采用「UI 线程 + 异步运行时」分离的架构:Slint 负责界面渲染与交互,Tokio 负责 MQTT 网络事件的处理,两者通过 `slint::invoke_from_event_loop` 安全地跨线程通信。
2026-10-30 06:00:00
323
原创 Rust+Slint 实现ModbusTCP主机调试助手源码分享
本工具基于 Rust 异步运行时(Tokio)与 Slint 声明式 UI 框架构建,整体采用「UI 层 + 业务层 + 协议层」三层架构。UI 层负责交互与数据展示,业务层负责请求构造、数据解析与轮询调度,协议层则基于 `tokio-modbus` 完成 Modbus TCP/RTU 报文的收发。下面从几个关键维度拆解其实现思路。
2026-10-29 06:00:00
499
原创 PyQt+QML 实现FTP服务器调试助手源码分享
本文分享基于PyQt6与QML实现的FTP服务器调试助手源码。工具支持文件树展示、状态信息显示,利用pyftpdlib搭建FTP服务,包含工程结构与安装说明,适合调试与学习Qt/QML与Python集成。
2026-10-29 06:00:00
298
原创 PyQt+QML 实现FTP客户端调试助手源码分享
基于PyQt与QML实现FTP客户端调试助手,支持连接服务器、展示文件树及上传下载功能。文章分享源码,包含工程结构、依赖安装及核心main.py说明,界面效果已展示。
2026-10-28 06:00:00
555
原创 QByteArray 详解:既是二进制字节数组,也能拥有类 QString 的文本 API
QByteArray 是 Qt 中兼具二进制与文本处理能力的双面类:既可存储任意字节(含 \0),又提供类 QString 的丰富文本操作接口。它支持隐式共享、高效拷贝,适用于网络协议、文件读写、编码转换等场景。使用时需注意:二进制操作中 \0 不会截断数据;文本方法按字节处理,多字节编码(如 UTF-8)需谨慎;toUtf8() 与 fromUtf8() 是跨类型转换的关键,避免乱码。掌握其双重特性,可大幅提升开发效率。
2026-10-28 06:00:00
365
原创 Rust+Slint 实现动态流光边框源码分享
整个流光边框的核心就一句话:**旋转的渐变 + 内层遮盖 = 边框流光**。通过调整 `color1`、`color2`、`border-size`、`corner-radius` 和 `Timer` 的间隔/步长,可以轻松改变光效的颜色、粗细、圆角和速度,从而适配不同的 UI 风格。
2026-10-27 06:00:00
124
原创 PyQt+QML 实现串口助手源码分享
本串口调试助手采用 **PyQt6 + QML** 的前后端分离架构,将界面渲染与业务逻辑解耦,既保留了 QML 声明式 UI 的高效开发体验,又借助 Python 生态轻松接入 `pyserial` 完成底层串口通信。
2026-10-27 06:00:00
475
原创 Rust+Slint 实现高级动态消息提示框源码分享
本项目的核心在于 Rust 与 Slint 的深度协作:Rust 负责消息数据的生命周期管理与计时逻辑,Slint 负责界面渲染与交互反馈。两者通过 Slint 生成的类型安全接口进行通信,实现了高效且解耦的架构。
2026-10-26 06:00:00
446
原创 PyQt+QML 实现蜂巢菜单源码分享
本项目采用 **PyQt6 + QML** 混合架构:Python 负责程序入口与 QML 文件加载,QML 负责全部界面渲染与交互逻辑。核心思路是**用 QML 的声明式语法描述蜂巢网格,用 JavaScript 函数实现点击检测与鱼眼凸起效果**,两者通过属性绑定与信号机制协同工作。
2026-10-26 06:00:00
914
原创 Qt 中使用 QSettings 存储结构体数据详解
本文详解Qt中使用QSettings存储结构体数据的三种主流方案:字段拆分(简单可读,适合小规模配置)、QDataStream二进制序列化(高效简洁,但不可读且版本兼容性差)、以及QJsonObject/QVariantMap文本化存储(兼顾可读性与灵活性)。重点强调了版本兼容、默认值处理和异常防护等工程实践,为开发者提供清晰的选型指导。
2026-10-25 15:23:57
312
原创 Rust+Slint 实现心电监护仪界面源码分享
本项目采用 **Rust + Slint** 前后端分离的架构模式,核心思路是:- **Rust 负责业务逻辑与数据模拟**:包括 ECG 信号生成、心率计算、时间格式化等;- **Slint 负责界面渲染与交互**:通过 `.slint` 声明式语言描述界面结构,并通过回调(callback)与属性(property)与 Rust 侧通信。两者通过 Slint 自动生成的桥接代码(`slint::include_modules!()`)无缝衔接,实现数据驱动 UI 的实时刷新。
2026-10-24 06:00:00
364
原创 PyQt+QML 实现解析ANSI Color Code的日志显示器源码分享
整个日志显示器采用 **PyQt6 + QML** 的前后端分离架构:`main.py` 负责创建 Qt 应用与加载 QML 界面,`main.qml` 负责界面渲染与 ANSI 颜色解析。二者通过 `QQmlApplicationEngine` 桥接,QML 中无需任何 C++ 或 Python 逻辑即可独立完成日志的展示与着色。
2026-10-24 06:00:00
258
原创 PyQt+QML 实现ModbusTCP从机调试助手源码分享
本文分享基于PyQt6与QML实现的ModbusTCP从机调试助手源码,通过pymodbus库构建异步服务器,支持寄存器配置、实时日志与状态监控。工程结构清晰,集成多类型寄存器(保持/输入/线圈/离散),提供图形化界面操作,适用于Modbus协议开发与测试,助力快速搭建调试环境。
2026-10-23 06:00:00
157
原创 Rust+Slint 实现FTP服务器调试助手源码分享
分享一个FTP服务器调试助手,基于PyQt+QML实现。支持配置IP、端口、根目录、匿名访问及用户管理,可实时查看文件列表和连接日志,方便调试。文章附有完整源码(含工程结构和核心代码),可直接使用。
2026-10-23 06:00:00
226
原创 PyQt+QML 实现XModem、YModem、ZModem协议源码分享
本文分享基于PyQt6与QML实现的XModem、YModem、ZModem协议文件传输工具,支持128/1024字节块、批量传输、断点续传及流式传输。通过yesterwind_xyzmodem库结合串口异步通信,实现高效稳定的数据传输。工程结构清晰,提供可视化界面与实时进度反馈,适用于嵌入式开发与设备固件升级场景。
2026-10-22 06:00:00
242
原创 Rust+Slint 实现XModem、YModem、ZModem协议助手源码分享
本工具基于 Rust + Slint 构建,整体采用「UI 线程 + 工作线程 + 事件通道」的架构。UI 线程负责界面渲染与用户交互,串口读写与协议解析全部放在独立的工作线程中执行,二者通过 `mpsc::channel` 传递 `WorkerEvent` 事件,避免阻塞界面。
2026-10-22 06:00:00
357
原创 Rust+Slint 实现FTP客户端调试助手源码分享
本文分享了基于Rust和Slint开发的FTP客户端调试助手源码,展示了界面效果、工程结构及核心main.rs实现,支持连接、断开和命令发送等调试功能。
2026-10-21 06:50:02
916
Rust+Slint 实现飞控仪表盘:姿态、高度、速度、导航仪等飞行数据实时显示
2026-08-13
分享自己使用Qt开发的一个小软件,界面采用QML开发功能逻辑采用C++开发
2026-03-19
ESP32 ESP-IDF移植letter-shell源码分享!完整工程!
2026-03-04
ESP32 ESP-IDF移植ctshell终端完整工程
2026-03-04
STM32一直Ctshell终端keil完整工程
2026-02-27
Rust Slint实现Qt Dial源码分享
2025-12-10
Qt 重写QSlider实现动态slider完整工程分享
2025-12-09
Qt 重写QProgressBar实现动态progressBar完整工程源码
2025-12-09
Qt 重写QCheckBox实现动态Switch源码分享完整工程
2025-12-05
Qt 重写QLineEdit实现动态LineEdit源码
2025-12-05
Rust Slint实现Android的图案密码(图形解锁)源码分享
2025-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅