登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
90% LVGL 新手踩大坑!分不清「父子控件」和「Python 子 ...
90% LVGL 新手踩大坑!分不清「父子控件」和「Python 子类」
[ 复制链接 ]
昝琳怡
昨天 23:20
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
上面我们说到了 LVGL 采用父子对象模型:所有 UI 元素都是 lv.obj 的子类,通过父子关系构建界面层级(屏幕 → 按钮 → 标签),这是新手最容易混淆的两个「父子 / 子类」概念。
首先要明确:LVGL 里的「父子对象模型」和 Python 类的「继承(子类)」是
完全不同维度的设计
,对应 OOP(面向对象)的两个核心关系:
所谓「生成不同控件的实例」,正是 LVGL 的 has-a 组合逻辑;而 Python 类继承是 is-a 的类型扩展逻辑 ——LVGL 并没有抛弃继承(控件类型本身是继承 lv.obj 的),
但界面组织的核心是「组合(父子实例)」
而非「继承(子类)」。
对于嵌入式
GUI
来说,其核心需求是空间层级管理,LCD
屏幕是二维平面,控件需要有空间归属和覆盖关系:
标签必须 “贴” 在按钮上,按钮必须 “放在” 屏幕上;
渲染时要按「父 → 子」顺序绘制(先画屏幕,再画按钮,最后画标签,标签才会覆盖按钮);
隐藏 / 移动父控件时,子控件要跟着一起隐藏 / 移动(比如把按钮移到屏幕右侧,按钮上的标签也要跟着走)。
并且,控件之间的生命周期具有约束关系:销毁父控件时会自动销毁所有子控件(比如关闭窗口时,窗口里的按钮、标签一起释放),避免内存泄漏。
同时 GUI 的交互(点击、滑动、长按)需要「事件冒泡」:
比如你点击按钮上的标签,事件会先传给标签,再传给按钮,最后传给屏幕;
这种实例间的事件传递,只能通过父子层级实现 —— 继承是类型关系,两个 LabeledButton 实例之间没有任何关联,无法传递事件。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
LVGL
新手
大坑
分不清
父子
相关帖子
新手不慌,入门无忧|武汉普拉提初学者,禧悦陪你轻松开启健身之旅
WPF新手村教程(三)—— 路由事件
为什么我拖了一个多月才开始使用OpenClaw?(附接入飞书完整详细教程,新手必看)
openclaw新手skill推荐: openclaw-newbie-faq
新手保姆级教程:OpenClaw 自动化操作浏览器!
WPF新手村教程(五)— 附魔教学(绑定)
WPF新手村教程(六)— 新手村BOSS战前准备(命令)
WPF新手村教程(七)—— 终章(MVVM架构初见杀)
为什么 LVGL 的 Python 代码看起来 “很别扭”?真相藏在 C 语言底层里
lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
新手不慌,入门无忧|武汉普拉提初学者,禧悦陪你轻松开启健身之旅
6
726
穆望
2026-02-22
业界
WPF新手村教程(三)—— 路由事件
2
95
归筠溪
2026-02-28
业界
为什么我拖了一个多月才开始使用OpenClaw?(附接入飞书完整详细教程,新手必看)
7
1026
俏襟选
2026-03-03
安全
openclaw新手skill推荐: openclaw-newbie-faq
4
362
狭踝仇
2026-03-04
业界
新手保姆级教程:OpenClaw 自动化操作浏览器!
3
856
笃扇
2026-03-05
业界
WPF新手村教程(五)— 附魔教学(绑定)
0
232
吕颐然
2026-03-16
安全
WPF新手村教程(六)— 新手村BOSS战前准备(命令)
0
79
屠焘
2026-03-23
业界
WPF新手村教程(七)—— 终章(MVVM架构初见杀)
0
864
缀访
2026-03-27
安全
为什么 LVGL 的 Python 代码看起来 “很别扭”?真相藏在 C 语言底层里
0
127
鞠彗云
2026-03-27
业界
lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
0
74
益竹月
2026-03-28
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
昝琳怡
昨天 23:20
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9916
7
宋子
9878
8
荪俗
9018
9
闰咄阅
9995
10
刎唇
9997
查看更多
今日好文热榜
145
IOFILE结构体的介绍与House of orange
1
IOFILE结构体的介绍与House of orange
0
IOFILE结构体的介绍与House of orange
74
lvgl-micropython、lv_micropython和lv_bin
198
InnoDB存储结构全解析:行页区段与单表2000
938
上周热点回顾(3.16-3.22)
814
上周热点回顾(3.16-3.22)
2
上周热点回顾(3.16-3.22)
6
上周热点回顾(3.16-3.22)
3
上周热点回顾(3.16-3.22)
6
上周热点回顾(3.16-3.22)
6
上周热点回顾(3.16-3.22)
2
上周热点回顾(3.16-3.22)
6
上周热点回顾(3.16-3.22)
3
上周热点回顾(3.16-3.22)
7
上周热点回顾(3.16-3.22)
6
上周热点回顾(3.16-3.22)
7
上周热点回顾(3.16-3.22)
5
上周热点回顾(3.16-3.22)
7
上周热点回顾(3.16-3.22)