qt 5信号和槽的新形式,附带lambda表达式在这里的应用(偷懒的神器) qt官方蓝牙的btcha这个demot的个人解读
1 关于信号与槽的一点感想
新技巧QOverload是为了指定使用哪一个函数.此处有一个connect信号和一个connect槽,其中槽没有形参变量
2 可以用函数找到发送信号的是哪个对象
3 退出函数的一种写法
connect(ui->quitButton, &QPushButton::clicked, this, &Chat::accept);
然后主函数中加入这样的话
4 信号槽的连接方式对于信号发送时机的影响的一点心得
5 lambda表达式,可以参考借用 https://www.cnblogs.com/yuankaituo/p/5135750.html
学会后,我发现我很喜欢这个,但是结果就是代码很容易成一坨一坨的,很难看,易读性对于初学者或者想要做联系的人来说,很大挑战.因此建议,简单的一两句话,并且只用一次这种函数,用lambda真的很舒服,对于需要复杂处理逻辑的,我建议还是勤快点,写写函数吧,
此处是一坨坨代码的代表 https://www.cnblogs.com/Oldz/p/13223812.html
我写的比较简洁
6 最后献上我自己对qt官方一个蓝牙通讯demo的解读btchat (有错误的地方还请谅解,毕竟经验好不足)
注意,可运行在安卓和pc两个平台,至少需要两个设备,可以三个设备以上相互互联,形成局域网(前提是都得有蓝牙)
https://files.cnblogs.com/files/RYSBlog/btchat.zip
7 追加,今天还有一个信号和槽的坑,如图,图中最后的还是老式的信号与槽的写法,有个坑就是,信号和槽后要加上(),因为SIGNAL和SLOT中都是字符串,这就意味着如果你不加(),程序也 不会报错,但是运行时就会出异常,这种错误属于运行异常,排查也让人头疼,在学习新模块出现这种错误更加让人头大=_=|
SIGNAL和SLOT这种方式对lambda的支持不是很好.建议用新的信号和槽进行连接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构