C/C++
文章平均质量分 63
基于Qt平台的一些画面控制器功能开发记录分享
匹诺曹得鼻炎
没有秃头,只有热爱
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
QT&C++的数据库资源抽象和封装:内存优化与存储引擎实现
本文探讨了在QT平台上开发哈希数据库存储引擎的关键技术实现。通过单例模式设计数据库管理器,采用句柄机制隔离底层对象,详细分析了堆栈内存管理策略。文章重点阐述了数据库创建时的堆分配必要性,对比了C风格与C++构造方式差异,并设计了完善的销毁机制防止内存泄漏。项目实践涉及QMap、QHash等容器使用,以及指针与值语义的合理应用,为C++开发者提供了数据库引擎开发的技术参考。原创 2025-12-10 15:49:59 · 361 阅读 · 0 评论 -
基于模型-视图关联架构的HMI控制器控件界面与底层数据交互机制开发
本文提出了一种嵌入式系统开发中的动态界面生成方案。通过资源管理系统将控件属性以文本形式存储,采用单字符标识属性确保解析唯一性。设计通用属性结构体和解析函数,实现文本数据到内存结构体的自动填充。采用双向关联机制,在控件属性中保存数据指针,在数据结构中保存控件指针,形成模型-视图关联模式。该方法实现了界面元素与代码的分离,便于维护和动态调整,适用于需要频繁修改界面的嵌入式系统开发场景。原创 2025-12-05 17:58:47 · 119 阅读 · 0 评论 -
正则表达式在C/C++、NotePad++ 和 Python 中的应用差异总结
摘要:本文系统介绍了正则表达式在C/C++、NotePad++和Python中的实际应用。重点讲解了正则表达式的基础语法,包括特殊字符匹配、数量控制、位置锚点、字符组和分组捕获等核心概念,并提供了常见应用场景的代码示例。文章特别强调了转义字符的处理技巧和不同开发环境下的使用差异,最后总结了快速记忆正则表达式关键要素的口诀。通过具体案例展示了如何在文本处理、数据提取等场景中高效运用正则表达式。原创 2025-11-25 15:07:56 · 335 阅读 · 0 评论 -
QT异步多线程开发解决UI阻塞问题的关键点总结
语音处理控件运行时出现主线程UI阻塞问题,导致文本提示语显示异常。经分析发现,同步执行的语音识别函数阻塞了主线程,使Qt事件循环无法及时处理重绘事件。最优解决方案是将语音识别移至独立线程,通过信号槽机制实现线程间通信。具体实现包括:创建专门的工作线程类,实现识别逻辑;主线程通过信号触发识别任务,工作线程完成后再通过信号传回结果。这种方法有效解决了UI阻塞问题,实现了文本的依次显示。作为次选方案,可使用QApplication::processEvents()强制刷新UI,但不推荐频繁使用。多线程方案是更优的原创 2025-11-24 15:13:10 · 328 阅读 · 0 评论 -
基于hpm6e00evk开发板的I2C驱动程序接口函数编写学习
最近和对象一起学习硬件入门时,完成了开发板驱动接口的API函数编写任务。我们主要参考了例程文件,最终整合成一个.h和.c文件。其中遇到的第一个问题是如何整理I2C模块的6个例程文件,这些文件包含了Polling、中断和DMA三种工作模式。原创 2025-09-15 10:23:08 · 292 阅读 · 0 评论 -
QT新手开发中遇到的一些字符串转换问题和常见错误
主要是值传递的问题,拷贝字符串(strcpy 或 strncpy),是直接拷贝复制,指针赋值(浅拷贝)则需要注意会出现指针悬挂或覆盖的问题。上个任务是在QT工程中做一个多语言切换的功能,其中针对不同控件做了不少接口,涉及到很多字符串类型转换问题,不堪其扰,抽空系统的整理一下。1.常用的三种类型:char, const char, QString。最常见的遇到一些从文件读取字符串时,可能出现各种状况。2.互相转换方法----特指。3.一些开发过程中遇到的问题。最后整理一下关于函数返回参数。原创 2025-08-28 15:37:08 · 245 阅读 · 0 评论 -
基于QT的控制器系统IO信号诊断功能实现(上)
文章摘要:本文介绍了IO诊断模块的开发过程,该模块用于检测系统输入/输出及模拟量信号。采用双模块设计(诊断模块和硬件配置模块),通过物理点和逻辑点映射实现灵活配置。重点讲解了点位分配算法、覆盖/交换功能的弹窗实现(包括替换、覆盖、取消按钮交互),以及强制功能的位运算处理。模块开发过程中暴露的问题使其成为新人锻炼的理想项目,体现了诊断系统在硬件测试中的重要性。原创 2025-07-15 16:23:11 · 896 阅读 · 0 评论 -
基于QT的画面控制器多语言切换和单位转换功能开发
本文总结了嵌入式设备多语言支持与单位转换功能的实现方法。针对车间设备使用频率低的特点,重点优化了成本控制、内存占用和维护难度。主要实现包括:1)按需加载资源文件;2)封装初始化函数提高可调试性;3)优化语言切换机制;4)简化词库维护流程;5)采用哈希表提升查询效率。通过分配唯一ID索引、构建轻量化数据结构、设计动态加载机制等方法,解决了多语言切换中的性能问题。文中详细介绍了词库制作、文件加载、数据库初始化等核心模块的实现,并分享了字符串处理等实用调试技巧。该方案在保证低频使用需求的前提下,有效提升了系统整体原创 2025-07-10 14:41:26 · 531 阅读 · 0 评论
分享