- 博客(110)
- 资源 (4)
- 收藏
- 关注
原创 Qt上位机编程命名规范-执行版
主要规范原则参考Qt上位机编程命名规范。考虑跨平台性,全小写是一种约定俗成的风格,在许多大型开源项目中(如 Linux 内核、Python 标准库)被广泛使用。1.2.文件夹和pri文件命名通常小写、下划线分开:2.代码命名规范2.1.类名规则:使用 PascalCase(首字母大写,每个单词的首字母都大写)。示例:2.2. 变量名规则:使用 camelCase(小写开头,每个单词的首字母大写)。成员变量:静态变量:局部变量:2.3. 函数名
2025-03-04 14:38:29
1063
原创 基于QScriptEngine解释器的数值自定义计算
data中保存元素数据,类似Fe-1.2,Cu-2.4,Mn3.5,QStringList中的为 Fe/Cu ,Fe/Cu-Mn,Fe*Cu+Mn ,如何利用解释器或者其它简单的方法完成这个需求?
2025-02-08 15:44:08
205
原创 上位机工作感想-2024年工作总结和来年计划
其实今年也没做啥项目,一半时间都花在重构老软件上,没有产品经理,没有项目经理,所有的东西都靠两个软件自己来,做完之后也没有业务测试,测试也是我自己。第一是分层处理,将整个软件分为通讯层、设备层、控制层、控制面板层,每个层抽象出几个具体业务接口,上层通过接口调用下层,达到解耦的目的,所有业务通过指令模式封装在一个个对象中,不同的业务就是不同指令的组合,整个模式非常灵活。
2025-01-18 18:09:34
908
原创 ccd和cmos光谱仪对比
光谱仪中既可以使用也可以使用作为图像传感器,具体选择取决于光谱仪的应用场景和性能需求。这两种传感器各有优缺点,在不同类型的光谱仪中发挥不同的作用。
2025-01-06 10:28:20
343
原创 基于WPF的磁盘管理助手(DiskClearHelper)
现场电脑磁盘占用率过高,一个一个文件夹取查看大小又太麻烦了,就想着用wpf开发一个磁盘清理助手。
2024-12-31 08:46:03
213
原创 QByteArray初始化总结
固定数据(不含\0是最佳选择,简单且可读性强。固定数据(可能含\0使用并指定长度。使用append或,视数据复杂性选择。如需复杂数据流处理,优先选择。还是在上位机开发中使用最为简便。根据实际需求,选择最合适的方案即可。
2024-12-16 13:38:58
605
原创 基于Qt的上位机通讯库设计及实现
做Qt上位机已经有两年的时间了,上位机主要是和下游器件打交道的,通过modbus、tcp、串口等协议来控制这些设备,通过一定的时序控制,完成所需要的工作流程。这其中最重要的就是通讯了,上位机开发过程中的相当一部分问题都是通讯问题导致的。如何总结、抽象出一套稳定的通讯逻辑,在上位机开发中尤为重要。
2024-12-15 10:44:10
735
原创 Qt上位机编程命名规范
如果是跨平台工具类或开源项目,建议使用全小写风格项目中应统一命名风格,无论是全小写还是大小写混合,以避免混乱在团队开发中,可在项目初期通过编码规范文档明确文件命名规则规则:使用全大写,单词间用下划线分隔(SNAKE_CASE)。示例1024Qt 内置宏以Q_开头,如Q_OBJECTQ_PROPERTYQ_OBJECTpublic:~MyClass();signals:private:___.json示例:(开发环境配置文件)
2024-11-23 11:26:19
1127
原创 Qt include规范
按照系统头文件Qt 库头文件自定义头文件的顺序组织#include。避免包含整个模块,只包含需要的头文件。使用前向声明来减少不必要的依赖。使用 #pragma once或包含保护来防止重复包含。根据 Qt 模块划分头文件,组织清晰。避免冗余和重复的包含。遵循这些规范可以保持代码清晰、易维护,并提高编译效率。
2024-11-22 15:33:53
565
原创 Qt交叉编译x86和arm心得
最近一直在Linux上开发qt程序,主要工作是在x86的Ubuntu上开发编译调试程序,确定没有问题后交叉编译到arm的linux系统上运行。
2024-11-22 15:30:00
766
2
原创 浅谈表驱动法的应用
简单的表驱动法是表驱动法的一种简化应用,适用于条件较少、逻辑不复杂的场景。它仍然通过表格或数组的形式来管理条件和对应操作,但实现上更加直接和轻量。假设你正在开发一个简单的命令行工具,它可以处理几个基本命令:启动、停止、重启和退出。我们可以通过简单的表驱动法来实现命令与其对应处理函数的映射。这种简单表驱动法可以在很多小型项目中起到简化逻辑的作用,代码更加清晰,也易于维护和扩展。例子:简单的命令解析器。
2024-11-11 07:26:28
266
原创 《ASP.Net Core技术内幕与项目实战》读书笔记_1
这一章主要说的是.Net Core、.Net Framework、.Net Stanard三个之间的关系。通俗来讲就是Core是新出的、能跨平台,Framwork是老版的、不能跨平台,Standard是为了在Framework、Core、Xamarin中统一库的使用而定制的规范,以便于开发出来的库可以在多个平台公用,是一个规范。在新的.NET 5以后,微软将几个平台合并了,就没有Standard这一说了。
2024-11-07 13:45:54
497
原创 上位机开发常见问题思考
1.日常思考使用配置软件还是硬编码在程序中?最近在开发一款兼容多款设备的上位机软件,开始用了很多配置文件,包括所有业务对象的生成、对象的配置参数等,重度依赖于配置文件,每次功能更新都要同步更新使用的配置文件,而且配置复杂,很容易出问题。现在准备将大部分配置写在代码中,将IP地址、测量参数等需要个性化配置的参数放在配置文件,这样大大减少了配置软件的难度。实现业务载体从配置文件到代码的转变。配置文件全部由代码生成比较麻烦,而且json的自由度比较高,全部由C++生成也感觉不太优雅,考虑将配置文件放入Qt
2024-10-27 19:16:11
502
原创 Linux创建sh脚本,实现全局调用
假设你已经创建了一个名为 myscript.sh 的脚本,并希望它可以在任何地方通过 myscript 来运行。
2024-10-18 06:54:48
636
原创 Qt常见问题
内存泄漏,不用的指针一定要记住删除,可以考虑使用一个单例模式来创建、保存、销毁指针对象,这个单例负责给其他对象使用该对象。QPrcocess不能在后端线程调用,会导致软件闪退
2024-09-11 20:32:41
427
原创 Win7 配置Oracle 11G R2、PLSQL Development、添加用户名、远程访问数据库
本教程所有操作均在VMWare虚拟机上操作,Oracle这种又难装、又难卸、污染性这么大的程序,怎么会让他出现在我的生产环境中呢?自己在虚拟机上新建了一个Win7_x64的系统,进行Oracle安装测试。
2024-08-27 13:32:40
919
原创 Qt奇怪bug排查
今天使用Qt调用某个方法时,再.cpp文件中引入头文件的,软件只要一运行那个就崩溃,找了好久也没找到问题,后来把那个include 放在.h文件就解决了,怪噻。
2024-08-24 10:06:32
144
原创 《代码大全》读书笔记-第5章 软件构建的设计
有人会说,设计不是真正的构建活动。但在小项目中,包括设计在内的许多活动都被认为是构建。有些设计更关注系统级问题,许多设计工作留给构建。有些大型项目设计非常详细,导致编码成为一项机械性劳动。小型项目的设计更多的是程序员坐在电脑前完成的,不管是小项目还是大项目都会在精心的设计中获益的。
2024-07-31 08:38:12
328
原创 《代码大全》读书笔记-第Ⅰ部分 奠定基础
对于非正式及项目,会觉得罗列出来的这些活动太过于繁复。但是这些对于正式项目都是很有必要的(大部分人都没经历过,比如说我)。一般一些小公司主要也就是。
2024-07-26 07:48:21
308
原创 基于Qt的上位机通用框架
最近一年多的时间一直在开发设备控制相关的软件,加上之前在聚光的两年时间,前前后后开发这种设备控制类型的上位机软件也有三年的时间了。总结出了一套基于Qt的上位机编程框架,核心思想类似于C#的依赖注入,对象的初始化都是基于反射和配置文件生成的,通过修改配置文件就能实现控制流程的修改。该框架分为基本模块、通讯层、设备层、指令层、控制层五个核心模块,上层调用下层,主要通过Manager单例读取配置json文件,创建并配置对应实体,再将实体指针由Manager管理,可以有效防止内存泄漏等问题。
2024-07-22 07:54:35
1476
9
原创 雷赛驱动器调试软件(modbus tcp)
之前工作遇到了雷赛电机驱动器设备,主要是用来控制光学导轨移动。雷赛的调试软件用的时串口通讯,还要他们定制的串口线,在现场都是485转网络的接口,调试起来也很不方便。所以我就照着他们的说明书,写了一个简易版本的基于tcp modbus调试工具。项目地址giteegithub有安装包。
2024-07-13 10:57:45
760
原创 基于opencv的斜光测距及python实现
最近做了一个基于opencv的斜光测距的小项目,东西不多,但是很有意思,值得拿出来学一学。项目里面需要比较精确的定位功能,将前人matlab代码移植到python上,并且做了一些优化,简化逻辑(毕竟我是专业的程序员),也用了tkinter界面包装了一下,最后通过pyinstaller打包成程序给同事使用。
2024-06-28 13:03:36
455
原创 上位机工作感想-从C#到Qt的转变-2
在现有公司最大的难受点是没有同事和我聊技术,每个人都是信息孤岛,大家对技术都抱着一种能用就行的态度,尝试交流也是无功而返。所以现在每天就是干自己的事情,领导也是没有太多支持,也没有技术领导,好在不加班,可以有时间看看别的书籍。后面考虑再学学设计模式、重构、C++基础相关的东西,再去学学嵌入式相关的知识,搞点小突破。职业发展也是遇到了瓶颈(工资上不去),也在想有没有其它搞钱的路子。准备今年考个教师资格证,以后带带课,增加一下收入。
2024-04-24 07:06:17
1306
原创 上位机工作感想-从C#到Qt的转变-1
当时也是加班加点学习C++和Qt的基础知识,做了两个考核项目后,顺利渡过了试用期。关于转语言,公司大概率是不会给一个社招人员过渡期的,我们所要做的就是放平心态,努力做好公司交待的项目就行了。基础扎实非常重要,一般来说熟练掌握一门语言后,学习其它语言时类比一下,再在项目中锻炼一下,熟悉起来还是很快的。后面的精通不仅需要学习相关编程书籍,还需要在项目中不断实践相关语言特性,写了一定数量并且解决了这些bug后,才会对语言有个深刻的认识。
2024-04-21 22:06:22
1874
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人