本章节主要讲解如何从零开始搭建一个最简单的QMH框架。
队列
学习QMH之前,需要知道队列是什么。队列位于函数选板 同步->队列操作。


一般我们只会用到获取队列引用、元素入队列、元素出队列、释放队列引用。
获取队列引用:在计算机内部开辟出一个存储空间,把队列的元素存储在这个空间里面。
元素入队列:元素排队进入存储空间。
元素出队列:队列是先进先出,第一个排队的元素第一个出。
释放队列引用:销毁掉队列,将开辟的存储空间归还给计算机。

QMH架构的实现步骤
1. 创建消息队列(使用“获取队列引用”函数)
2. 设计消息枚举类型(定义消息类型与数据格式)//这里推荐使用字符串类型,如果包含数据要传递则使用字符串和变体的簇

3. 构建消息处理循环(由队列驱动的状态机)

使用字符串而不是枚举的好处是灵活,你可以随时增添新的功能,只需要添加分支即可。
4. 实现消息派发(构建UI事件循环,响应用户在前面板的操作,如按下按钮、数值改变等)
例:用户关闭前面板,产生 "退出" 消息,通过入队列发送消息,消息处理循环收到消息跳转到对应分支,实现退出功能。


一个好的程序一定要能够很流畅的结束程序,而不是通过终止按钮来结束。退出时记得释放引用。
注意:可以有多个地方入队列,但是只能有一个地方出队列!
接下来实现一个简单的测试Demo。
Demo
1、先在前面板上放置三个按钮,初始化,开始测试,停止测试。

2、添加对应的事件,对应的消息处理分支。(按钮放在事件结构内,否则机械动作不会回弹,这里采用释放时触发)

3、在消息处理分支编写想要执行的程序。添加一个累加值显示控件。

初始化:对累加值进行赋0。

开始测试:计算1+2+3...+100的累加值。

结束测试:与关闭前面板一样的效果。

屏幕录制 2025-06-03 105911
&spm=1001.2101.3001.5002&articleId=148378954&d=1&t=3&u=d82a2024fa9d499aa56b7de6b2a2330e)
7191

被折叠的 条评论
为什么被折叠?



