![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
文章平均质量分 73
q2nAmor
QT/C++、opengl、opencl、音视频
展开
-
使用QT基于YMODEM协议实现串口文件发送(和xshell互通)
YMODEM协议是一个文件传输协议,常用于嵌入式设备。本文不对YMODEM做过多的阐述,阅读需建立在你已经对YMODEM有一定了解的基础上。Ymodem 协议详解YMODEM协议简介YMODEM协议中文翻译但要注意的是这些文章都有一些小的细节性的错误,文章的评论区有人指出了,需要注意甄别。发送端----------------------------------------------------------------接收端。原创 2023-12-13 16:59:03 · 1293 阅读 · 0 评论 -
惊喜!C++ 现代化json库nlohmann更高效的使用方式
nlohmann 这个库其实早在2019年项目中已经开始使用了,没有问题,这些库一般都不会进行升级。最近在新的项目中也需要用Json解析,然后再去它的官网上过了一遍ReadMe,发现了一些提高效率的新功能。链接: 也提到了,感兴趣的可以看看)。这种方法的优点是可以自己控制每个字段,比如字段名和结构体成员变量名可以不同,字段解析时可以增加自己的处理逻辑等等。但对于90%的使用场景来说,只想要一个简单的结构体解析,上面的方法就显得特别的繁琐。原创 2023-12-12 20:53:05 · 1090 阅读 · 0 评论 -
【建议收藏】QT实现字符串和枚举的相互转换,从源码角度分析实现原理
QT中实现字符串和枚举的转换主要是利用Qt的元对象机制。类必须继承于QObject并使用Q_OBJECT宏;类内添加枚举,使用Q_ENUM宏将枚举注册到元对象系统中;原创 2023-12-12 17:00:03 · 1673 阅读 · 0 评论 -
扔掉xshell,基于 QT 实现一个串口命令行工具(带源码)
所以基于串口的命令行工具有个特点是:如果串口连接不正常或者串口正常但是下位机程序运行不正常,通过上位机发送的命令下位机无法回复,则上位机不显示任何东西(因为没有收到下位机的回复)。所以对于我们的程序来讲,需要特殊处理的字符就是33个字符,当然并不是所有,我们只需要处理我们常见的支持的字符即可,比如回车符、制表符等。而其他的字符作为用户输入的指令进行下发和回显即可。可以看到我们write一个字符,下位机就回复一个字符,直到我们发送"0D",也就是Enter键"\r",下位机才会返回这个指令的最终响应数据。原创 2023-12-11 21:02:01 · 1237 阅读 · 0 评论 -
用 QPlainTextEdit 实现一个日志控制台(带源码)
2、在段落布局上,QPlainTextEdit 的性能是高于QTextEdit的,我这边是测试验证过的,在大量数据的时候,QPlainTextEdit 在dockwidget中进行拖动就不会卡顿,而QTextEdit卡顿非常严重。由于我们的程序在使用时,在进行串口通信或者网络通信时,想实时的看到关键日志信息或者错误信息,所以需要在软件中集成一个日志控制台的功能。此widget可以当作一个基础的UI组件,可被QT程序加载到任何想显示的布局里面,比如添加到dockwidget中可被拖动。原创 2023-12-11 14:49:58 · 674 阅读 · 0 评论 -
lambda技巧之—如何在有多个判断分支的情况下,还能优雅的使用auto& ?
很无奈的情况下我们必须将 auto& 退化成指针,本来简单的 clazz.a 的引用也要变成 &clazz.a ,且操作符 “.” 也要变成"->“,此时不知道屏幕前的你是否也感受到了一点代码的"臭味道”。C11的写法中,decltype 可以根据捕获参数 clazz 推导出此lambda的返回值类型,而如果使用C14即以上,lambda返回值直接使用auto&就行了。Perfect,得益于 IIFE 的好处,我们幸运的保留的 auto& student的写法,而不用再改成丑陋的指针了。原创 2023-12-08 11:00:19 · 383 阅读 · 0 评论 -
QString 中文字符串比较
QString 中文字符串比较原创 2023-12-07 12:26:22 · 624 阅读 · 0 评论 -
QxOrm 如何自定义主键?
例如,要为 myClass C++ 类定义 QString 主键(映射到具有 VARCHAR 类型的列主键的数据库表),必须编写: QX_REGISTER_PRIMARY_KEY(myClass, QString)警告:QX_REGISTER_PRIMARY_KEY宏必须在类定义中的QX_REGISTER_HPP宏之前使用,否则会发生编译错误。可以使用QX_REGISTER_PRIMARY_KEY宏定义另一种类型(例如,QString 类型)的唯一 id(主键)。原创 2023-12-07 11:19:17 · 540 阅读 · 0 评论 -
扔掉sql语句,用 QxOrm 让你的数据库操作从来没有这么简单过!
扔掉sql语句,用 QxOrm 让你的数据库操作从来没有这么简单过!ORM 全称是 Object Relational Mapping(对象关系映射),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。原创 2023-12-07 11:12:32 · 1200 阅读 · 0 评论