登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
90% LVGL 新手踩大坑!分不清「父子控件」和「Python 子 ...
90% LVGL 新手踩大坑!分不清「父子控件」和「Python 子类」
[ 复制链接 ]
昝琳怡
4 天前
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
上面我们说到了 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
1030
俏襟选
2026-03-03
安全
openclaw新手skill推荐: openclaw-newbie-faq
4
365
狭踝仇
2026-03-04
业界
新手保姆级教程:OpenClaw 自动化操作浏览器!
3
857
笃扇
2026-03-05
业界
WPF新手村教程(五)— 附魔教学(绑定)
0
232
吕颐然
2026-03-16
安全
WPF新手村教程(六)— 新手村BOSS战前准备(命令)
0
84
屠焘
2026-03-23
业界
WPF新手村教程(七)—— 终章(MVVM架构初见杀)
0
873
缀访
2026-03-27
安全
为什么 LVGL 的 Python 代码看起来 “很别扭”?真相藏在 C 语言底层里
0
136
鞠彗云
2026-03-27
业界
lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
0
85
益竹月
2026-03-28
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
昝琳怡
4 天前
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9916
7
宋子
9878
8
荪俗
9020
9
闰咄阅
9997
10
刎唇
9999
查看更多
今日好文热榜
948
DDD难落地?就让AI干吧! - cleanddd-skill
587
Qt 技巧笔记(十四):QTableWidget 表格组
263
【JavaScript高级编程】拆解函数流水线 上
446
Claude 绝密模型泄露!Sora 关停、AI 工具
391
P10387 [蓝桥杯 2024 省 A] 训练士兵
114
电容是什么?一个“快充快放”的微型充电宝
949
做了一个网页天气可视化 2
698
Redis命令处理机制源码探究
727
读2025世界前沿技术发展报告27核力量
3
读2025世界前沿技术发展报告27核力量
4
读2025世界前沿技术发展报告27核力量
4
读2025世界前沿技术发展报告27核力量
3
读2025世界前沿技术发展报告27核力量
3
读2025世界前沿技术发展报告27核力量
3
Claude 绝密模型泄露!Sora 关停、AI 工具
3
做了一个网页天气可视化 2
3
做了一个网页天气可视化 2
3
Redis命令处理机制源码探究
3
【JavaScript高级编程】拆解函数流水线 上
3
Claude 绝密模型泄露!Sora 关停、AI 工具