登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
90% LVGL 新手踩大坑!分不清「父子控件」和「Python 子 ...
90% LVGL 新手踩大坑!分不清「父子控件」和「Python 子类」
[ 复制链接 ]
昝琳怡
2026-3-27 23:20:00
程序园永久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到底啥关系?一文读懂
OpenClaw 常用指令清单,新手与进阶
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
WPF新手村教程(三)—— 路由事件
3
101
归筠溪
2026-02-28
业界
为什么我拖了一个多月才开始使用OpenClaw?(附接入飞书完整详细教程,新手必看)
8
1039
俏襟选
2026-03-03
安全
openclaw新手skill推荐: openclaw-newbie-faq
5
373
狭踝仇
2026-03-04
业界
新手保姆级教程:OpenClaw 自动化操作浏览器!
4
861
笃扇
2026-03-05
业界
WPF新手村教程(五)— 附魔教学(绑定)
0
233
吕颐然
2026-03-16
安全
WPF新手村教程(六)— 新手村BOSS战前准备(命令)
3
94
屠焘
2026-03-23
业界
WPF新手村教程(七)—— 终章(MVVM架构初见杀)
1
878
缀访
2026-03-27
安全
为什么 LVGL 的 Python 代码看起来 “很别扭”?真相藏在 C 语言底层里
0
143
鞠彗云
2026-03-27
业界
lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
1
92
益竹月
2026-03-28
安全
OpenClaw 常用指令清单,新手与进阶
1
484
姚望舒
2026-04-01
回复
(1)
皮仪芳
3 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
毕余馥
21 小时前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
代码
科技
签约作者
程序园优秀签约作者
发帖
昝琳怡
21 小时前
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991126
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9516
6
韶又彤
9910
7
荪俗
8994
8
宋子
9875
9
蓬森莉
9869
10
俞瑛瑶
10000
查看更多
今日好文热榜
1
【小记】解决校园网中单播互通的不同子网间
1
【小记】解决校园网中单播互通的不同子网间
349
【节点】[Posterize节点]原理解析与实际应
1
【小记】解决校园网中单播互通的不同子网间
1
【小记】解决校园网中单播互通的不同子网间
1
【小记】解决校园网中单播互通的不同子网间
1
【小记】解决校园网中单播互通的不同子网间
1
【小记】解决校园网中单播互通的不同子网间
1
【小记】解决校园网中单播互通的不同子网间
1
【小记】解决校园网中单播互通的不同子网间
754
GitHub 热门项目 Top 10 | 2026 年 04 月 0
191
Spring Cloud Gateway实战:微服务API网关
783
罗兰艺境GEO内容工程实战复盘:CSDN 92分技
523
MacBook Air 本地运行大语言模型(LLM)
49
【渗透测试】玄机&Maze 全过程wp
792
AI元人文:大儒家观之功夫论——痕迹生生、
274
"Meta-Harness: End-to-End Optimization o
398
UI 自动化测试产品深度对比分析报告
237
指派问题WebApp实验室:从建模到智能分配的
901
MyBatis-Plus实战:Spring Boot数据库操作