打印
[其他ST产品]

stm32 显示屏菜单级联怎样实现?

[复制链接]
414|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2024-10-30 09:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32 显示屏菜单级联怎样实现?

使用特权

评论回复
沙发
冰春彩落下| | 2024-11-12 20:57 | 只看该作者
你用什么品类的显示屏啊?可以用GUI的啊

使用特权

评论回复
板凳
江河千里| | 2024-11-13 02:00 | 只看该作者
其实你可以自己用指针的方式实现一个菜单的

使用特权

评论回复
地板
暖了夏天蓝了海| | 2024-11-13 03:00 | 只看该作者
你要是用OLED的话可以用U8G2GUI软件来搞

使用特权

评论回复
5
三生万物| | 2024-11-13 04:00 | 只看该作者
其实我觉得你可以考虑用lvgl吧,比较不错的

使用特权

评论回复
6
淡漠安然| | 2024-11-13 05:00 | 只看该作者
ST的话GUI软件不是用GTFX

使用特权

评论回复
7
一秒落纱| | 2024-11-13 06:00 | 只看该作者
得看你芯片性能,再看你显示内容的难度吧

使用特权

评论回复
8
夜阑风雨| | 2024-11-13 07:00 | 只看该作者
我建议还是考虑自己手搓个菜单就好了,不费劲的

使用特权

评论回复
9
远山寻你| | 2024-11-13 08:00 | 只看该作者
一般来说都是用指针来搞的,实在不行用全局变量也能跳转的

使用特权

评论回复
10
光辉梦境| | 2024-11-13 09:00 | 只看该作者
我建议还是自己写个菜单吧,如果你的菜单不复杂的话

使用特权

评论回复
11
别乱了阵脚| | 2024-11-13 10:00 | 只看该作者
LGVL吧,我看大家都考虑用这个GUI

使用特权

评论回复
12
公羊子丹| | 2025-1-24 14:15 | 只看该作者
菜单级联可以用一个二维数组来存储菜单项,再用一个变量来记录当前菜单层级,切换的时候更新这个变量就行。

使用特权

评论回复
13
周半梅| | 2025-1-24 14:16 | 只看该作者
建议用一个状态机来管理菜单,每个状态对应一个菜单界面,切换时通过事件触发状态变化。

使用特权

评论回复
14
帛灿灿| | 2025-1-24 14:18 | 只看该作者
可以试试用链表来实现,每个菜单项是一个节点,节点里面存子菜单的指针,扩展起来很方便。

使用特权

评论回复
15
童雨竹| | 2025-1-24 14:19 | 只看该作者
菜单的显示和操作分离比较好,界面刷新放到一个函数里,逻辑处理放到另一个函数里,代码清晰易维护。

使用特权

评论回复
16
万图| | 2025-1-24 14:20 | 只看该作者
如果菜单层级比较多,用递归函数处理会更简单,比如按键操作时递归到对应的子菜单。

使用特权

评论回复
17
Wordsworth| | 2025-1-24 14:21 | 只看该作者
按键控制可以用长按进入子菜单、短按切换选项的逻辑,配合一个全局变量记录当前选中的菜单项。

使用特权

评论回复
18
Bblythe| | 2025-1-24 14:22 | 只看该作者
STM32的显示屏菜单一般用字符串数组来保存菜单内容,再用指针动态调整当前菜单显示。

使用特权

评论回复
19
Pulitzer| | 2025-1-24 14:24 | 只看该作者
如果用的是触摸屏,可以直接根据触控坐标来判断选中项,用一个矩形区域数组来匹配。

使用特权

评论回复
20
Uriah| | 2025-1-24 14:25 | 只看该作者
你也可以试试用结构体保存每个菜单项的信息,比如名字、子菜单指针、回调函数,扩展性很好。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1358

主题

4210

帖子

0

粉丝