自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

本博客分享软硬件一体化开发实战。硬件涵盖 PCB 设计、STM32 等 MCU 底层开发;软件包含 C++、Rust,Qt/QML、PyQt、Slint、TouchGFX、LVGL 各类 GUI 框架。方便软硬件开发者查阅学习。欢迎关注!

专注软硬件开发干货分享。持续记录项目调试踩坑、界面实现、底层原理与完整工程代码,内容面向工控、嵌入式开发人员,提供可直接复用的实战方案。欢迎关注!

  • 博客(1125)
  • 资源 (89)
  • 收藏
  • 关注

原创 Rust similar-asserts 库详解:告别模糊的断言错误信息

Rust 的 similar-asserts 库是一个专为提升测试断言可读性设计的工具。它通过智能差异对比技术,在断言失败时生成清晰的差异报告,精确高亮显示字符串、集合等数据类型的不同之处。该库提供与标准断言兼容的宏(如 assert_eq!、assert_ne!),支持彩色终端输出和可定制的显示样式(行内/并排对比),特别适合比较 JSON、配置文件等多行文本数据。与 pretty_assertions 相比,similar-asserts 更专注于提供简洁直观的差异视图。

2026-07-24 06:00:00 68

原创 疯狂Rust库之insta库:强大的测试快照库

insta是Rust中一个强大的快照测试库,用于验证程序输出的正确性。它通过首次运行测试时保存输出为快照文件,后续测试将当前输出与快照比较来判断测试结果。安装时只需在Cargo.toml中添加dev-dependency即可。 核心功能包括: 支持多种数据类型的断言宏(debug/display/字符串等) 结构化数据支持(JSON/YAML格式) 动态快照命名功能 高级特性如快照过滤、路径设置和交互式更新 实际应用场景包括API响应验证、UI组件测试等。测试不匹配时,可通过环境变量控制快照更新行为(直接更

2026-07-24 06:00:00 14

原创 无人机行业主流 CAN 上层协议介绍

本文介绍了无人机行业中四种主流的CAN总线通信协议: DroneCAN - 基于UAVCAN v0发展而来,轻量高效,支持设备自动发现,广泛应用于PX4生态系统的飞控、传感器和外围设备通信。 Cyphal - UAVCAN v1的升级版,支持多种物理层(CAN FD/Ethernet),具有128位节点ID和增强的安全机制,适合大规模复杂系统。 UAVCAN - 最早的无人机CAN协议标准,采用去中心化设计,为后续协议奠定基础,目前主要用于历史系统兼容。

2026-07-23 06:00:00 462

原创 PIX4 uORB 内部消息总线详解

uORB是PX4/Pixhawk飞控的核心进程间通信机制,采用发布/订阅模式实现模块间高效异步数据交换。其核心概念包括主题(Topic)、发布者/订阅者、消息结构,通过共享内存实现轻量级线程安全通信,支持多对多通信与数据拷贝/零拷贝模式。关键优势包括异步非阻塞、资源高效和丰富工具链支持(如uorb top、listener)。代码示例展示了定义消息、发布与订阅的典型流程。最佳实践涉及优先级调度、队列深度配置及性能优化。

2026-07-23 06:00:00 290

原创 C++ boost::parser 详解:从入门到实战的现代解析器库

Boost.Parser 是 C++ 的高性能解析器组合子库(Boost 1.75+引入),采用声明式设计,支持编译时类型安全的解析逻辑组合。其核心特性包括: 解析器组合子:通过 >>(序列)、|(选择)等操作符组合简单解析器,构建复杂语法规则。 属性与语义动作:解析器生成结构化属性(如 int、tuple),可通过 lambda 处理结果(如存入 std::map)。 灵活控制:支持回溯、错误定位、跳过字符(skip)、可选(-)、重复(*/+)及前瞻断言(&/!)。

2026-07-22 06:00:00 232

原创 C++ boost::variant 详解:从入门到实战

本文详细介绍了C++中boost::variant的使用方法,从基础概念到高级应用。boost::variant是一种类型安全的联合体,可存储预定义类型中的任意一种,相比传统联合体(union)和继承体系更灵活高效。文章涵盖以下内容: 基本用法:包含头文件、定义类型、赋值与构造、使用get/get_if访问值 访问者模式:通过定义函数对象实现类型安全访问,支持带返回值 高级特性:递归variant处理树形结构、与std::variant的互操作 实际应用。

2026-07-22 06:00:00 243

原创 PyQt 实现动态菜单源码分享

该代码实现了一个扇形展开菜单的PyQt6组件,主要特点包括: 实现三个图标的扇形展开/收起动画效果,支持角度控制和延迟启动 使用定时器控制动画帧率,提供流畅的过渡效果 包含点击中间圆形按钮切换展开状态的交互逻辑 参数可配置化,包括展开角度、动画速度、图标尺寸等 计算图标位置使用极坐标转换,实现圆形布局 核心功能是当点击中间按钮时,三个图标会依次延迟展开形成扇形布局,再次点击则反向收起。组件采用透明背景,适合作为浮动菜单使用。

2026-07-21 06:00:00 686

原创 C++ boost::tuple 详解:从入门到实战解析元组库

本文详细介绍了C++ Boost库中的boost::tuple元组容器。作为C++11标准库std::tuple的前身,boost::tuple提供了固定大小的异构值存储能力,支持任意数量不同类型的元素组合。文章涵盖其基础概念、安装配置、基本用法(创建、访问、修改元素)和高级特性(比较操作、输入输出支持),并展示了函数返回多值的实际应用场景。通过代码示例演示了make_tuple、tie等实用方法,以及如何利用元组简化多返回值处理,适合需要兼容旧代码或使用Boost特有功能的开发者参考。

2026-07-21 06:00:00 160

原创 PyQt 实现魔法导航菜单源码分享

本文分享了一个使用PyQt6实现的魔法导航菜单UI组件源码。该组件具有以下特点: 采用底部导航栏设计,包含5个可点击的图标选项 实现平滑的点击动画效果: 选中图标会向上浮动 带有绿色圆形指示器跟随动画 文字标签渐显效果 主要技术实现: 使用QPainter进行自定义绘制 通过QTimer实现200ms的动画过渡 应用线性插值(lerp)计算动画中间状态 代码结构清晰,包含背景绘制、图标布局、动画计算等模块 提供完整的配色和尺寸参数,方便自定义修改 这个组件适合作为现代应用的主导航菜单。

2026-07-20 06:00:00 1129

原创 C++ boost::uuid 详解:基于最新版本 Boost 的全面指南

Boost C++ 库提供了强大且高效的 `boost::uuid` 模块,它严格遵循 **RFC 4122** 标准,支持多种 UUID 版本(1, 3, 4, 5),并深度集成于 Boost 生态(如 `boost::hash`、序列化等)。

2026-07-20 06:00:00 186

原创 C++ boost::pfr 库详解:编译期反射的轻量级解决方案

Boost.PFR(Precise and Flat Reflection)是C++的一个轻量级编译期反射库,通过模板元编程在编译时获取结构体字段信息,无需运行时开销。核心功能包括:字段数量获取(tuple_size_v)、按索引访问(get<I>)、结构化绑定支持、字段比较与序列化等。适用于聚合类型(如简单结构体),仅需包含头文件即可使用。其原理基于C++17结构化绑定和模板元编程,但限制包括仅支持聚合类型、依赖字段顺序及需C++17支持。适用于序列化、日志输出等场景,提升代码简洁性与维护性。

2026-07-19 06:00:00 349

原创 C++ boost::phoenix 库详解:函数式编程与表达式模板的完美融合

Boost.Phoenix 是一个强大的 C++ 函数式编程库,基于表达式模板技术实现惰性求值和函数组合。它将操作符、函数调用等转化为可组合的表达式对象,支持占位符(1, 2)表示参数位置。Phoenix 的核心优势在于编译期构建复杂函数逻辑,性能接近手写函数对象,同时提供类似自然语言的表达能力。其特性包括:操作符重载、函数式控制结构(if, switch)、lambda表达式、函数组合与部分应用。典型应用场景包括STL算法参数、领域特定语言(DSL)构建和复杂谓词组合。

2026-07-19 06:00:00 354

原创 C++ boost::range 详解:基于最新版本的现代范围处理指南

现代范围处理指南 Boost.Range 库为 C++ 提供了更优雅的范围处理方式,解决了传统 STL 迭代器对(begin/end)的冗长和易错问题。核心功能包括: Range 算法:直接对容器操作(如 boost::sort(vec)) Range 适配器。

2026-07-18 06:00:00 262

原创 C++ boost::ratio 详解:基于最新版本的编译时有理数库

本文详细介绍了 Boost C++ 库中的 boost::ratio 编译时有理数工具。该模板类通过分子分母的编译时常量表示分数,支持零开销的算术运算和比较操作,并能自动进行分数简化。文章阐述了其核心设计思想、基本用法,以及预定义的 SI 单位前缀比例,展示了 boost::ratio 在类型安全、精确计算和与 C++11 标准库兼容性方面的优势。通过具体代码示例说明了比例定义、四则运算和比较操作的使用方法,适用于单位转换、物理量计算等需要精确有理数表示的场景。

2026-07-18 06:00:00 328

原创 C++ boost::regex 详解:文本处理的瑞士军刀

正则表达式是文本处理的瑞士军刀,而 C++ 标准库 `<regex>` 在 C++11 中才正式引入。对于需要支持更早编译器版本(如 C++98/03)或追求更高性能、更丰富功能的项目,Boost.Regex 库是一个成熟、强大且经过工业级验证的选择。

2026-07-17 06:00:00 199

原创 C++ boost::smart_ptr 详解:基于最新版本 Boost 的智能指针完全指南

本文详细介绍了 Boost 库中的智能指针组件 boost::smart_ptr,包括其设计理念、核心类型和使用场景。主要内容涵盖:1)boost::scoped_ptr 的作用域独占所有权;2)boost::shared_ptr 的共享所有权与引用计数机制;3)boost::weak_ptr 如何解决循环引用问题;4)boost::intrusive_ptr 的侵入式引用计数实现。文章通过代码示例展示了每种智能指针的典型用法。

2026-07-17 06:00:00 270

原创 C++ boost::pool 库详解:内存池原理与实战应用

本文详细介绍了C++ Boost.Pool内存池库的核心功能与使用方法。Boost.Pool通过预分配连续内存块管理小对象,显著提升内存分配效率,减少系统调用开销。主要内容包括: 内存池原理:通过预先分配大块内存,减少频繁分配/释放的系统开销,提升性能。

2026-07-16 06:00:00 186

原创 C++ 容器 emplace_back vs push_back 详解:从原理到实战

本文对比了C++容器中emplace_back和push_back的差异与使用场景。push_back通过拷贝或移动构造添加已有对象,而C++11引入的emplace_back支持原地构造,直接传递构造参数。关键区别在于emplace_back避免了临时对象的创建,在构造成本高、多参数或不可拷贝类型时性能更优。基准测试显示,对于复杂对象,emplace_back能显著减少拷贝开销。建议优先在需要直接构造、多参数或特殊类型时使用emplace_back,简单类型或编译器可优化场景差异不大。

2026-07-16 06:00:00 343

原创 PyQt 重写QRadioButton实现动态radioButton源码分享

PyQt自定义动态单选按钮实现 该代码实现了一个自定义的ColorfulRadioButton组件,继承自QRadioButton,添加了以下特性: 动态下划线动画:选中时底部分界线从文字开始向右扩展,取消选中时向左收缩 自定义颜色:可设置选中/未选中两种状态的颜色 圆点动画效果:选中时显示实心圆点,未选中时显示空心圆环 核心实现: 使用QPropertyAnimation实现平滑的宽度过渡动画 重写paintEvent完成自定义绘制 通过pyqtProperty实现动画属性的绑定。

2026-07-15 06:00:00 454

原创 PyQt QLineEdit 自动补全完整实现-QCompleter详解

本文详细介绍了 PyQt6 中 QCompleter 类的使用方法,该组件可为 QLineEdit 等输入控件提供自动补全功能。主要内容包括: QCompleter 的核心概念和工作原理,基于模型提供补全建议 基础实现方法,通过 QStringListModel 创建字符串列表补全 三种补全模式(Popup/Inline/UnfilteredPopup)及其应用场景 匹配模式(开头/包含/结尾匹配)和大小写敏感设置 。

2026-07-15 06:00:00 482

原创 PyQt 实现飞机姿态仪源码分享

本文分享了基于PyQt6实现的飞机姿态仪(ADI)源码,通过QGraphicsSvgItem和QGraphicsScene构建飞行仪表组件。主要功能包括: 实现地平仪(ADI)、高度表(ALT)、空速表(ASI)、航向指示器(HSI)和垂直速度指示器(VSI)等核心仪表 提供设置滚转角(setRoll)、俯仰角(setPitch)、飞行路径标记(setFlightPathMarker)等API接口 支持仪表动态缩放和视图更新 使用SVG矢量图形实现仪表背景和遮罩层 采用分层渲染管理仪表组件。

2026-07-14 06:00:00 1057

原创 PyQt 实现飞控仪表盘:姿态、高度、速度,飞行数据实时显示(三)

本文介绍使用PyQt6实现飞行控制仪表盘的第二部分,主要展示垂直速度表(VSI)的实现。文章包含以下内容: 效果展示:提供VSI仪表的运行截图 源码分享: VSI仪表类实现:基于QGraphicsView和SVG图元,包含指针旋转逻辑 主窗口布局:采用3×3网格布局,预留9个仪表位置 当前实现3个仪表(Tc、Nav、Adi),其他仪表将在后续文章展示 技术要点: SVG图元分层渲染 自适应缩放处理 仪表指针旋转控制 30ms刷新周期 仪表数据范围限制在-2000~2000 ft/min。

2026-07-14 06:00:00 257

原创 PyQt 实现飞控仪表盘:姿态、高度、速度,飞行数据实时显示(一)

本文分享了两个航空仪表控件的PyQt6实现源码: Tc (转弯协调仪)控件: 使用QGraphicsView和QGraphicsScene构建240x240画布 通过多个QGraphicsSvgItem加载仪表部件SVG图像 实现转弯速率(±6单位)和侧滑(±15单位)参数控制 采用fitInView保持等比例自适应缩放 核心旋转逻辑:根据参数计算标记和小球的角度偏移 Nav (导航仪)控件: 构建300x300画布场景 类似结构实现导航仪表显示。

2026-07-13 06:00:00 504

原创 PyQt 实现飞控仪表盘:姿态、高度、速度,飞行数据实时显示(二)

这篇文章分享了使用PyQt6实现飞控仪表盘的第二部分源码,主要展示高度表(Altimeter)的实现。文章包含以下内容:1. 高度表效果图展示;2. AltWidget类的完整Python实现代码;3. 该控件支持通过setAltitude()和setPressure()方法实时更新高度和气压数据;4. 采用SVG矢量图形构建仪表盘,通过QGraphicsSvgItem分层渲染;5. 实现了自适应窗口大小变化的缩放功能。由于篇幅限制,本文只展示高度表控件,其余仪表将在后续文章中继续分享。

2026-07-13 06:00:00 537

原创 C++ boost::predef 详解:跨平台编译时预定义检测库

Boost.Predef 是 Boost 库中用于跨平台编译时预定义检测的头文件库,提供统一接口检测编译器、操作系统、架构、标准库等环境信息。它解决了传统宏检测存在的名称不统一、版本检测困难等问题,具有类型安全、可组合性强、头文件即可使用等优点。文章详细介绍了其安装配置方法及核心功能,包括操作系统版本检测(如 Windows/Linux)、编译器识别(GCC/MSVC)、CPU架构判断(x86/ARM)以及字节序检测等典型应用场景,为 C++ 跨平台开发提供了标准化解决方案。

2026-07-12 06:00:00 217

原创 C++ boost::random 详解:从基础到高级随机数生成

本文详细介绍了C++ Boost库中的随机数生成模块boost::random。Boost::random作为C++11标准库<random>的扩展,提供了更丰富的随机数引擎和分布,适用于科学计算、游戏开发等领域。文章首先讲解安装配置方法,包括获取Boost库和项目设置。核心概念部分阐述了随机数引擎、分布和设备三大组件,重点介绍了mt19937、ranlux等常用引擎和均匀分布、正态分布等概率分布的实现。最后通过生成随机密码和蒙特卡洛法估算π两个实用案例,展示了boost::random的实际应用。

2026-07-12 06:00:00 288

原创 Qt 将PDF文件转高清图片源码分享

本文分享了使用Qt将PDF转换为高清图片的完整源码实现。主要功能包括: 通过Qt PDF模块(QPdfDocument)实现PDF到图片的转换 支持自定义输出尺寸和DPI(每英寸点数) 自动处理透明背景,转换为白色背景图片 支持PNG/JPG格式输出,其中JPG会自动设置为最高质量 。

2026-07-11 06:00:00 318

原创 PyQt6 检测串口设备热插拔的方法

本文介绍了在PyQt6应用程序中实现跨平台串口设备热插拔检测的方法。核心思路是通过定时轮询(QTimer)检测串口列表变化,使用pyserial库获取当前可用串口,并与之前保存的列表比较。当检测到变化时,通过PyQt6信号机制通知界面更新。文章提供了完整的代码实现,包括一个SerialPortMonitor类(负责设备检测)和主界面集成示例(QComboBox显示串口列表)。该方法兼容Windows/Linux/macOS,虽然采用轮询机制而非事件驱动,但在设备变化频率不高的场景下简单可靠。文中还提及了性能

2026-07-11 06:00:00 226

原创 PyQt 将PDF文件转高清图片源码分享

PyQt6 的 PDF 模块提供了强大的 PDF 文档处理能力,主要包含在 `QtPdf` 模块中。该模块允许开发者加载、渲染、查看和操作 PDF 文档,是构建 PDF 阅读器、转换工具或文档处理应用的理想选择。

2026-07-10 06:00:00 276

原创 PyQt6 QPrinter 详解:将 QTextDocument 内容导出为 PDF 或 PostScript 格式

本文介绍了使用PyQt6中的QPrinter和QTextDocument类将富文本内容导出为PDF或PostScript格式的方法。主要内容包括: 核心类简介:QPrinter用于配置输出格式和页面属性,QTextDocument用于存储和渲染格式化文本。 基础工作流程:创建QPrinter实例并配置→准备QTextDocument内容→调用print()方法导出→处理完成信号。 详细代码示例:展示如何将HTML内容导出为PDF和PostScript文件,包括设置页面大小、方向和输出路径。

2026-07-10 06:00:00 240

原创 C++ boost::lambda 详解:从入门到实战

本文详细介绍了C++中的Boost Lambda库,它是C++11标准引入lambda表达式前的重要功能扩展,用于简化匿名函数对象的创建。文章从核心概念入手,解释了占位符(_1, _2, _3)和延迟计算机制,展示了如何与STL算法结合使用。通过示例代码,演示了算术、比较、逻辑运算,以及成员函数调用和控制结构(如if_)的应用。Boost Lambda不仅提升了代码的简洁性和可读性,还为理解函数式编程在C++中的演进提供了重要参考。

2026-07-09 06:00:00 226

原创 PyQt 元对象系统详解:信号与槽、属性与反射的核心机制

本文详细解析了PyQt框架中的元对象系统(Meta-Object System),这是Qt实现信号与槽、动态属性和运行时类型信息等核心功能的基础架构。文章分为六个部分:首先介绍元对象系统的三大支柱(QObject基类、moc元对象编译器和QMetaObject元对象类);然后深入探讨其在信号槽机制中的关键作用,包括信号声明、跨线程连接和动态调用;接着展示动态属性系统的应用场景与样式表联动;最后通过完整示例演示如何创建支持信号、属性和反射的自定义组件。

2026-07-09 06:00:00 221

原创 PyQt 实现炫酷仪表盘源码分享

本文分享了一个使用PyQt6实现的炫酷仪表盘控件源码。该仪表盘具有以下特点: 采用QPainter进行自定义绘制,实现260km/h量程的刻度盘 包含红区警示功能(200km/h以上显示红色) 使用径向渐变实现发光效果 支持自定义数字字体(Digitall.ttf) 实现精细刻度线(主刻度、次刻度和小刻度) 核心功能通过paintEvent方法实现,包括: 背景填充 渐变圆环 刻度线绘制(不同颜色和粗细) 数字标签显示 指针动态旋转 可通set_current_value方法更新指针位置。

2026-07-09 06:00:00 1385

原创 PyQt 重写QSlider实现动态slider源码分享

PyQt自定义动态滑块控件 这个项目展示了如何通过继承QSlider重写一个具有动态效果的滑块控件,主要特点包括: 视觉效果优化: 隐藏原生滑块样式,完全自定义绘制 支持圆角进度条和动态GIF滑块图标 按压状态改变滑块颜色 核心实现: 使用QPainter绘制背景轨道和前景进度条 通过QMovie加载GIF实现动态滑块图标 定时器控制GIF帧刷新 功能特性: 精确计算图标边界防止切边 提供颜色设置接口 保持原有滑块功能不变 使用方法简单,只需导入DynamicSlider类即可创建动态滑块控件。

2026-07-08 06:00:00 430

原创 开源无边框库 QWindowkit 详解:原理、使用与实战

QWindowkit无边框窗口解决方案摘要 QWindowkit是一个跨平台的C++无边框窗口解决方案库,专为Qt应用程序设计。它通过统一抽象层封装了Windows、macOS和Linux等操作系统的原生窗口API,提供高性能的无边框窗口实现。 核心特性包括: 真正跨平台支持,保持各平台行为一致 原生渲染性能,支持窗口阴影、拖动、缩放等完整交互 与Qt无缝集成,支持系统级功能如Aero Snap 开源可定制 相比Qt原生方案,QWindowkit功能更完整;相比自定义绘制方案,它大大降低了实现复杂度。

2026-07-08 06:00:00 262

原创 Rust similar库详解:基于最新版本的文本差异与补丁算法实践

本文深入解析了Rust生态中的高性能文本差异库similar(v2.5.0)。该库提供多种差异算法(Myers、Patience、LCS)用于文本/序列比较,支持生成可读差异输出和补丁应用。核心内容包括:安装配置、基础文本比对示例、不同算法的使用场景、任意序列比较、多种差异输出格式(类git diff/HTML)、补丁生成与应用,以及自定义比较函数和性能优化建议。通过代码示例展示了如何实现行级差异检测、补丁操作等实际功能,特别适合版本控制、代码审查等需要高效差异处理的场景。

2026-07-07 06:00:00 433

原创 Python difflib库详解:文本差异比较与合并实战指南

Python的difflib库是一个强大的文本差异比较工具,支持多种比较算法和输出格式。它基于最长公共子序列和Ratcliff/Obershelp模式识别算法,能高效识别文本的增删改操作。核心功能包括:SequenceMatcher计算相似度和差异块,Differ生成类Unix的差异标记,HtmlDiff创建高亮HTML报告,以及unified_diff和context_diff生成标准补丁格式。适用于代码版本控制、文档协作等场景,能显著提升文本比对效率。

2026-07-07 06:00:00 361

原创 sloopLite 详解-轻量级裸机协作式任务调度框架

sloopLite是一款专为资源受限型MCU设计的轻量级嵌入式任务调度框架,采用协作式调度模型,具有任务管理、非阻塞等待、日志输出等功能。其核心特性包括超时任务、周期任务、并行任务等多种任务类型,支持STM32G0等低资源设备,代码量仅18KB左右。框架提供简洁API,如sloop_init()初始化、sl_cycle_start()启动周期任务等,通过宏定义实现任务生命周期管理。典型应用场景包括在基础初始化后跳转至演示任务,演示中可创建周期任务并在指定时间后停止。

2026-07-06 06:00:00 336

原创 PyQt6 重写QDial实现动态Dial源码分享

本文分享了一个基于PyQt6的动态仪表盘控件实现方案。通过继承QDial类并重写paintEvent方法,创建了一个具有以下特点的圆形仪表盘: 支持自定义刻度样式(主/次刻度线)和颜色(正常/聚焦/警告状态) 可设置预警阈值,当数值超过阈值时自动切换警告色 实现数字刻度显示和单位标注功能 使用自定义字体(Digitall.ttf)显示数值 包含多种图片资源(表盘背景、刻度线、指针等) 。

2026-07-06 06:00:00 828

原创 Qt高性能绘图库QIm详解:原理、架构与实战应用

本文介绍了Qt高性能绘图库QIm的核心原理、架构设计及实战应用。QIm基于即时模式渲染理念,直接操作底层图形API(如OpenGL/Vulkan),相比传统QPainter显著提升了2D图形渲染性能。文章详细分析了QIm的架构层次(应用层、API层、图形后端)和核心组件(Canvas、Painter、Brush/Pen等),并通过代码示例展示了如何在QWidget中集成QIm实现动画绘制。QIm特别适用于实时数据可视化、游戏UI、CAD绘图等需要高频动态渲染的场景。

2026-07-05 06:00:00 406

PyQt 实现炫酷仪表盘源码分享完整工程

完整效果可在我博客查看,博客首页搜索:PyQt 实现炫酷仪表盘源码分享完整工程

2026-07-08

PyQt 实现飞机姿态仪源码分享完整工程

效果可在我博客首页查看。博客主页搜索:PyQt 实现飞机姿态仪源码分享

2026-07-08

PyQt 实现飞控仪表盘姿态、高度、速度,飞行数据实时显示

具体效果可在我博客查看,博客首页搜索:【PyQt 实现飞控仪表盘姿态、高度、速度,飞行数据实时显示】

2026-07-08

PyQt6 重写QDial实现动态Dial源码分享

效果可在我博客查看。博客主页搜索:【PyQt6 重写QDial实现动态Dial源码分享】

2026-06-25

PyQt 实现炫酷锁屏效果源码分享

效果可在我博客查看,首页搜索:【PyQt 实现炫酷锁屏效果源码分享】

2026-06-18

分享自己写一个QML OTA升级库-功能使用C++,界面采用QML.zip

效果可在我博客查看

2026-04-24

QSimpleUpdater完整工程下载

效果可在我博客查看,博客首页搜索:QSimpleUpdater 详解+详细使用教程:为 Qt 应用一键接入自动更新功能

2026-04-09

图片转为RGB565图像数组(16位数组)小软件

效果可在我博客查看,主页搜索

2026-04-03

ESP32移植rt-thread自动初始化功能完整工程(基于esp-idf+vscode)

效果可在我博客查看

2026-03-26

分享自己使用Qt开发的一个小软件,界面采用QML开发功能逻辑采用C++开发

分享自己使用Qt开发的一个小软件,界面采用QML开发功能逻辑采用C++开发,效果可在我博客查看,博客首页搜索:【分享自己使用Qt开发的一个小软件,界面采用QML开发功能逻辑采用C++开发】

2026-03-19

西门子1200与Qt使用OPC UA通信完整工程

效果和具体教程可在我博客查看,博客首页搜索:【西门子1200与Qt使用OPC UA通信详细教程】

2026-03-09

ESP32 ESP-IDF移植letter-shell源码分享!完整工程!

移植过程和效果可在我博客查看,博客首页搜索:【ESP32 ESP-IDF移植letter-shell源码分享!调试简直不要太方便!】

2026-03-04

ESP32 ESP-IDF移植ctshell终端完整工程

完整移植流程和效果展示请在我博客查看,博客首页搜索:【ESP32 ESP-IDF移植ctshell源码分享!调试简直不要太方便!】。

2026-03-04

STM32一直Ctshell终端keil完整工程

只演示一直流程,不保证工程能直接使用。移植流程在我博客首页搜索:【STM32、GD32 裸机移植ctshell源码分享!调试简直不要太方便!】查看。

2026-02-27

python3.14+PtQt6完整工程源码分享

效果可在我博客查看,博客首页搜索:【PtQt6完整工程源码分享】

2026-02-06

Qt 实现悬浮工具箱完整工程源码分享

效果可在我博客查看,博客主页搜索:【Qt 实现悬浮工具箱完整工程源码分享】

2026-01-26

stm32移植letter-shell测试完整工程

完整移植过程可在我博客查看,博客首页搜索:【STM32、GD32 裸机移植一个shell 终端!调试简直不要太方便!】

2026-01-19

Rust Slint完整项目工程分享

可在我博看查看运行效果,博客首页搜索:【Rust Slint完整项目工程分享】

2026-01-13

Rust Slint实现弹出式菜单源码分享

效果可在我博客查看,博客首页搜索:【Rust Slint实现弹出式菜单源码分享】

2025-12-24

Rust Slint实现趣味进度条源码分享(完整工程)

效果可在我博客查看,博客首页搜索:【Rust Slint实现趣味进度条源码分享】。

2025-12-11

Rust Slint实现Qt Dial源码分享

Rust Slint实现Qt Dial源码分享,效果可在我博客查看,博客首页搜索【Rust Slint实现Qt Dial源码分享】

2025-12-10

Qt 重写QDial实现动态Dial源码分享完整工程

QWidget重写,效果可在我博客中查看,博客首页搜索:【Qt 重写QDial实现动态Dial源码分享】

2025-12-10

Qt 重写QSlider实现动态slider完整工程分享

Qt 重写QSlider实现动态slider源码分享,效果可在我博客查看,博客首页搜索【Qt 重写QSlider实现动态slider源码分享】。

2025-12-09

Qt 重写QProgressBar实现动态progressBar完整工程源码

效果可在我博客中查看,博客首页搜索:【Qt 重写QProgressBar实现动态progressBar源码分享】

2025-12-09

Qt 实现炫酷锁屏源码分享

Qt 实现炫酷锁屏源码分享,效果可在我博客中查看,博客首页搜索【Qt 实现炫酷锁屏源码分享】。

2025-12-08

Qt 重写QCheckBox实现动态Switch源码分享完整工程

Qt 重写QCheckBox实现动态Switch源码分享【完整工程】,效果可在我博客查看,博客首页搜索【Qt 重写QCheckBox实现动态Switch源码分享】.

2025-12-05

Qt 重写QLineEdit实现动态LineEdit源码

Qt 重写QLineEdit实现动态LineEdit源码分享,效果可在我博客中查看,博客首页搜索【Qt 重写QLineEdit实现动态LineEdit源码分享】

2025-12-05

QML实现天气预报源码分享(完整工程).zip

使用QML结合C++实现天气预报完整工程分享,效果可在我博客查看,博客主页搜【QML实现天气预报源码分享】。

2025-12-04

Rust Slint实现天气预报源码分享

Rust Slint实现天气预报源码分享,效果可以在我博客中查看,博客首页搜索:【Rust Slint实现天气预报源码分享】

2025-12-03

Rust Slint实现弹出式菜单栏源码分享

效果可在我博客中查看,博客首页搜索:【Rust Slint实现弹出式菜单栏源码分享】

2025-12-03

Rust Slint实现Android的图案密码(图形解锁)源码分享

效果刻在我博客中查看,博文中搜索:【Rust Slint实现Android的图案密码(图形解锁)源码分享】就可以找到。

2025-12-02

Rust Slint实现热更新(动态编译)详细教程源码分享

效果可以在我博文中查看,博客首页搜索【Rust Slint实现热更新(动态编译)详细教程源码分享】。

2025-11-28

Rust Slint 实现接球小游戏源码分享

完成效果可在我博客中查看,博客首页文章搜索【Rust Slint 实现接球小游戏源码分享】。

2025-11-27

QML 实现炫酷锁屏效果源码分享

使用QML 实现炫酷锁屏效果源码完成工程,效果可以在我博客查看,博客文章搜索【QML 实现炫酷锁屏效果源码分享】

2025-11-27

Rust+Slint实现炫酷锁屏源码分享

Rust+Slint实现炫酷锁屏源码分享,效果可以在我博客查看,在我博客首页搜【Rust Slint实现炫酷锁屏源码分享】就可以。

2025-11-26

Rust Slint 分享一个项目完整工程(博客中有完整教程,搜索资源名称就可)

分享一个Rust+Slint 项目完整工程,博客中有完整教程,搜索资源名称就可。在博客中可以查看完整运行效果和功能。

2025-11-26

Rust Slint虚拟键盘源码分享

详细教程参考我博文,在主页搜索

2025-11-10

QML Canvas绘制汽车速度仪表盘使用到的资源分享

源码在我的博文中,搜索《QML Canvas绘制汽车速度仪表盘源码分享》

2025-10-28

Rust Slint实现白天黑夜、暗黑高亮模式切换开关源码分享(图片资源)

源码在我博客搜索

2025-10-20

Rust Slint实现金属表盘源码分享(图片资源文件)

源码在我博客查找

2025-10-20

空空如也

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

TA关注的人

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