LVGL8.2父子关系
LVGL8.2 父对象与子对象概念LVGL 所有控件按钮、标签、容器等都是对象 (lv_obj_t)。对象之间通过父‑子关系组织构成一棵对象树。子对象依附于父对象父对象管理所有子对象的位置、裁剪、显示、删除、事件传递。1. 核心定义父对象 (parent)容纳其他控件的对象。子对象 (child)被放在父对象内部的对象。根对象lv_scr_act()当前屏幕是最顶层父对象没有父。// 创建一个容器父对象是当前屏幕 lv_obj_t * cont lv_obj_create(lv_scr_act()); // 创建标签父对象是上面的容器cont标签成为cont的子对象 lv_obj_t * label lv_label_create(cont);xxx_create(parent)的第一个参数就是父对象创建完自动建立父子关系2. 父子关系带来的关键特性2.1 位置坐标是相对父对象子对象的 x/y 坐标原点是父对象左上角不是屏幕左上角。// label 在cont内部距离cont左上角x10,y10 lv_obj_set_pos(label,10,10);父对象移动所有子对象跟着一起移动2.2裁剪clipping默认情况下子对象不能绘制到父对象边界外面超出部分会被截断不显示。关闭裁剪lv_obj_set_clip_children(parent, false);子控件可以画出父控件范围外。2.3删除父对象子对象自动销毁lv_obj_del(cont); // cont被删除它所有子对象(label、button等)全部自动释放不用手动del子对象不要手动 delete 已经被父对象管理的子对象也可以当然也可以单独删除某个子对象lv_obj_del(label)。2.4大小继承与布局lv_obj_set_size()设置父容器大小子对象可以用布局flex/grid自动排布。Flex、Grid 布局父对象开启布局自动排列它所有的直接子对象2.5 事件传递事件会从子对象向上冒泡到父对象。比如点击按钮按钮收到点击事件之后事件会传给它的父容器再往上直到屏幕。3.常用父子对象 APILVGL8.2// 获取父对象 lv_obj_t * parent lv_obj_get_parent(child); // 获取第一个子对象 lv_obj_t * child lv_obj_get_child(parent, 0); // 获取子对象数量 int child_cnt lv_obj_get_child_cnt(parent); // 将对象移到另一个父下重新指定父 lv_obj_set_parent(child, new_parent); // 将子对象移到最顶层同一父下最后绘制显示在最前面 lv_obj_move_to_front(child); // 移到底层最先绘制被其他同级遮挡 lv_obj_move_to_back(child); // 是否是某个对象的后代递归判断孙子也返回true bool is_desc lv_obj_is_descendant(obj, ancestor);直接子对象 vs 后代孙子对象屏幕 scr_act() └── cont1父 └── cont2cont1的子 └── labelcont2的子cont1的孙子cont1的直接子对象只有cont2label是cont1的后代不是直接子对象flex/grid 布局只作用于直接子对象孙子对象不受父容器布局影响

相关新闻

AutoResearchBench:AI智能体学术文献发现能力的基准测试框架

AutoResearchBench:AI智能体学术文献发现能力的基准测试框架

1. 项目概述:当AI开始“读论文”,我们如何衡量它的真实水平?最近,AI智能体(AI Agent)的概念火得一塌糊涂,从自动写代码到处理客服工单,似乎无所不能。但作为一名长期混迹在科研圈和A…

2026/8/24 4:47:34 阅读更多 →
Python 九阳神功之叁:闭包与装饰器 · 借力打力

Python 九阳神功之叁:闭包与装饰器 · 借力打力

第 3 篇 口诀心法:闭包与装饰器 借力打力闭包如内力绵延不绝,装饰器如太极推手——不改变招式,却能化腐朽为神奇。本篇传授 Python 高阶编程的「借力打力」之术,让你写出更优雅、更强大的代码。Python 高阶编程:闭包…

2026/8/24 4:47:34 阅读更多 →
OpenSpeedy 游戏变速实战:单机游戏的节奏自己说了算

OpenSpeedy 游戏变速实战:单机游戏的节奏自己说了算

OpenSpeedy 游戏变速实战:单机游戏的节奏自己说了算 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 想把重复关卡快进掉、或者把卡住的动作放慢三遍再研究的时候&…

2026/8/24 4:47:34 阅读更多 →

最新新闻

嵌入式实时性优化:利用MDK分散加载文件将关键中断服务函数定位到RAM运行

嵌入式实时性优化:利用MDK分散加载文件将关键中断服务函数定位到RAM运行

1. 项目缘起:为什么要把中断服务函数放到RAM里? 如果你在嵌入式开发中用过STM32这类Cortex-M内核的MCU,并且对实时性有苛刻要求,那你可能遇到过这样的场景:系统正在执行一段位于Flash中的关键中断服务程序(…

2026/8/24 10:32:42 阅读更多 →
Habitat-Lab 安装指南:15 分钟跑通你的第一个具身 AI 示例

Habitat-Lab 安装指南:15 分钟跑通你的第一个具身 AI 示例

Habitat-Lab 安装指南:15 分钟跑通你的第一个具身 AI 示例 【免费下载链接】habitat-lab A modular high-level library to train embodied AI agents across a variety of tasks and environments. 项目地址: https://gitcode.com/GitHub_Trending/ha/habitat-la…

2026/8/24 10:32:42 阅读更多 →
AutoHotkey 鼠标指针隐藏:3 段代码覆盖录屏、演示与全屏游戏

AutoHotkey 鼠标指针隐藏:3 段代码覆盖录屏、演示与全屏游戏

AutoHotkey 鼠标指针隐藏:3 段代码覆盖录屏、演示与全屏游戏 【免费下载链接】AutoHotkey AutoHotkey - macro-creation and automation-oriented scripting utility for Windows. 项目地址: https://gitcode.com/gh_mirrors/au/AutoHotkey 录制教程视频时&a…

2026/8/24 10:32:42 阅读更多 →
为什么setTimeout最多只能等24.8天?深度揭秘delay的无限延迟原理

为什么setTimeout最多只能等24.8天?深度揭秘delay的无限延迟原理

为什么setTimeout最多只能等24.8天?深度揭秘delay的无限延迟原理 【免费下载链接】delay Delay a promise a specified amount of time 项目地址: https://gitcode.com/gh_mirrors/de/delay delay 是一个轻量的 Promise 延迟(delay Promise&#…

2026/8/24 10:32:42 阅读更多 →
Open-Meteo:免费天气API,5分钟自建气象数据服务

Open-Meteo:免费天气API,5分钟自建气象数据服务

Open-Meteo:免费天气API,5分钟自建气象数据服务 【免费下载链接】open-meteo Free Weather Forecast API for non-commercial use 项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo 注册账号、申请Key、等账单——做气象数据这件事&…

2026/8/24 10:32:42 阅读更多 →
Owl 语音转文字全解析:Whisper、PyAnnote 说话人分离与字级对齐完整指南

Owl 语音转文字全解析:Whisper、PyAnnote 说话人分离与字级对齐完整指南

Owl 语音转文字全解析:Whisper、PyAnnote 说话人分离与字级对齐完整指南 【免费下载链接】Owl A personal wearable AI that runs locally 项目地址: https://gitcode.com/gh_mirrors/owl3/Owl Owl 是一个完全在本地运行的个人可穿戴 AI 项目:它持…

2026/8/24 10:31:41 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →