当前位置: 首页 > news >正文

014、LVGL坐标系统与对齐方式

LVGL坐标系统与对齐方式——从一次控件“跑偏”的调试说起

上周调试一个智能家居面板项目,遇到一个诡异现象:一个按钮在模拟器上显示正常,烧录到STM32F429硬件上却偏到了屏幕右下角。检查代码,发现是父容器使用了lv_obj_set_align,子控件又用了lv_obj_align,两者在坐标计算上产生了冲突。这个坑让我重新梳理了LVGL的坐标系统——今天就把这些踩过的坑和总结的规律写清楚。

坐标原点与参考系:别被“绝对坐标”骗了

LVGL的坐标原点默认在父对象的左上角,而不是屏幕左上角。这一点和很多桌面GUI框架不同——如果你直接写lv_obj_set_x(obj, 10),这个10是相对于父容器左上角的偏移量,不是屏幕坐标。

踩坑案例
有次在TabView的某个页面里放了一个滑块,用lv_obj_set_pos(slider, 0, 0),结果滑块跑到了Tab标签栏下面。因为TabView的页面容器本身有内部边距(padding),坐标原点在页面内容区的左上角,而不是TabView的左上角。

正确理解

  • lv_obj_set_x/y/pos:设置相对于父对象内容区左上角的坐标
  • lv_obj_get_x/y:返回的也是相对于父对象内容区的坐标
  • 屏幕坐标需要通过lv_obj_get_coords
http://www.jsqmd.com/news/808009/

相关文章:

  • vllm启动Qwen/Qwen3.6-35B-A3B踩坑日记
  • CRM 系统是什么?一文读懂客户关系管理系统的核心价值与应用
  • PCL2启动器游戏启动失败:终极解决方案与完整指南
  • Photo Sphere Viewer、Three.js、Pannellum怎么选?2024年Web全景图库横向评测与入门指南
  • PowerToys Awake:让Windows电脑在你需要时保持清醒的3种智能模式
  • 如何做变量操作化:从抽象概念到测量指标
  • TVA与传统视觉技术的本质区别——以工业视觉检测为例(11)
  • 跨摄像机不是识别接力,而是空间连续:镜像视界空间智能跟踪中枢
  • 低代码革命:Gemini3.1Pro赋能全民开发
  • 9大网盘直链解析工具LinkSwift:本地化文件下载解决方案
  • 从手动到自动:基于Test Sequence与Test Manager的Simulink模型高效测试流程构建
  • Unpivot逆透视:列名转列值的利器与海量数据下的性能陷阱
  • iOS 音频硬件架构:采样率、位深、声道、音频缓冲区核心解析
  • 拒绝信息过载:Infoseek如何从“噪音海洋”中打捞出真正的价值情报
  • 2026深度教程:如何用好 Gemini 3.1 Pro 联网搜索?实时信息获取与验证技巧全解析
  • 分类记单词:哺乳动物
  • 无感定位 + 跨镜连续:镜像视界视频孪生驱动的全域轨迹计算
  • AI编程助手上下文优化:用VS Code扩展管理Token成本与指令文件
  • Cadence Virtuoso PEX参数提取:除了RC,别忘了设置GND和电源网络(IC617实测)
  • Xception 涨点改进|全网独家复现|引入 MSA 多尺度注意力,全局感知 + 细节增强,助力阿尔茨海默病脑影像精准识别
  • C++中的模板(初阶)
  • 硬件电路中的 EMC 设计
  • 数据库事务的四大特性以及事务并发访问引起的更新丢失问题
  • 西门子“工业软件驱动的数字孪生”模式
  • mac80211基础知识总结
  • HoRain云--PHP邮件发送终极指南
  • 快装管道售后服务测评? - 中媒介
  • 5分钟快速上手:res-downloader 全网资源下载神器终极指南
  • 告别固定尺寸:手把手教你用MATLAB Coder生成能处理任意大小数组的C函数
  • # 2026公考机构红黑榜!粉笔稳居第一,华图中公厮杀太激烈