尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

玩转树莓派屏幕之五:自定义LCD屏幕显示

玩转树莓派屏幕之五:自定义LCD屏幕显示
📅 发布时间:2026/6/18 6:07:40

上一章节中已经完成了lvgl适配以及tslib的屏幕校准。自己要展示的内容还没有展示出来,还是使用玩转树莓派屏幕之二:自定义屏幕显示 中直接展示的文字,没有任何渲染。

lvgl中支持很多控件,屏幕展示的内容更加丰富。但是让自己去配置这些组件以及布局,搞不了搞不了。。。

还好现在有很多的GUI 设计工具可以使用。本次使用的是GUI Guider,也支持LVGL v9系列。不得不吐槽一下,lvgl不同系列代码api有很大变化,在网上的大部分教程在v9版本都不能适用。

一、使用Gui Guider设计GUI

  1. 选择新建 -> LVGL 9.2.1 -> 设备 simulator --> 模版为Empty UI,点击创建工程。
    image

  2. 工程名称自取,树莓派MHS色深选择16bit,屏幕选择480*320,点击创建
    image

  3. 界面介绍:

image

  1. 设计GUI界面:

image

  1. 点击模拟:

image

image

这也看不出来啥。。。。。

  1. 点击生成代码,选择C

image

  1. 查看生成文件:

    custom、generated是我们要的文件。

image

二、适配Gui Guider

3.1 目录移植

新建guider_gui目录,将生成的custom、generated放入其中。

├── CMakeLists.txt
├── LICENSE
├── Makefile
├── README.md
├── guider_gui
│   ├── custom
│   └── generated
├── lvgl
├── scripts
│   └── backend_conf.sh
├── src
│   ├── lib
│   ├── main.c
│   └── usr
├── toolchain.cmake
└── user_cross_compile_setup.cmake

3.2 配置CMake.txt

让项目编译过程中能够识别新增加的gui内容,需要配置CMake引入.c文件和.h文件。

# 包含 tslib 头文件(自动从 pkg-config 获取)
include_directories(${TSLIB_INCLUDE_DIRS})
link_directories(${TSLIB_LIBRARY_DIRS})# 重新生成了src/usr内容
#aux_source_directory(src/usr/)
include_directories(src/usr)
file(GLOB_RECURSE SRC_USR_ADD ${PROJECT_SOURCE_DIR}/src/usr/*.c)# 引入guider-gui生成内容
include_directories(${PROJECT_SOURCE_DIR}/guider_gui/generated)
include_directories(${PROJECT_SOURCE_DIR}/guider_gui/custom)
include_directories(${PROJECT_SOURCE_DIR}/guider_gui/generated/images)#aux_source_directory(${PROJECT_SOURCE_DIR}/guider_gui/custom/)
file(GLOB_RECURSE SRC_LVGL_GUIGUIDER ${PROJECT_SOURCE_DIR}/guider_gui/generated/*.c)
file(GLOB_RECURSE SRC_LVGL_IMG ${PROJECT_SOURCE_DIR}/guider_gui/generated/images/*.c${PROJECT_SOURCE_DIR}/guider_gui/generated/guider_fonts/*.c
)add_executable(lvglsim src/main.c ${LV_LINUX_SRC} ${LV_LINUX_BACKEND_SRC} ${SRC_LVGL_GUIGUIDER} ${SRC_USR_ADD}src/usr/NetTools.c ${SRC_LVGL_IMG})target_include_directories(lvglsim PRIVATE ${TSLIB_INCLUDE_DIRS})
target_link_libraries(lvglsim lvgl_linux lvgl PkgConfig::TSLIB dl pthread)

这里只放了新增的部分,其他使用的LVGL demo中自带的。具体其他细节可以看下面的github链接地址。

3.4 修改main文件

在src/main中引入头文件和定义,在while循环中定期去刷新屏幕内容,这里是设置了1s刷新一次。

#include "gui_guider.h"
lv_ui guider_ui;int main() {....setup_ui(&guider_ui);while (true){uint32_t start_tick = lv_tick_get();usleep(LVGL_TICK); /*Sleep for 5 millisecond*/lv_task_handler();lv_tick_inc(LVGL_TICK); /*Tell LVGL that 5 milliseconds were elapsed*/if (start_tick - last_update >= 1000) {// 每秒执行刷新动作}}
}

更改屏幕中的显示内容,可以通过直接设置label的text内容进行修改:

lv_label_set_text(guider_ui.screen_cpu_show_info, tempStr);

三、效果展示

Gui-Guider设置展示

image-20251007190202167

实物展示

image-20251007190226824

四、开源地址

已经将GuiGuider和LVGL的源码放到了github:

https://github.com/secoworld/RaspberryPi_LCD_Monitor

参考文档:

  • https://github.com/Temperature6/DevMonitor_for_Pis

相关新闻

  • OpenStack实验过程
  • MySQl accessed by ssh in win11
  • 1.如何导入Aquarius开发框架

最新新闻

  • ComfyUI_smZNodes终极指南:实现A1111与ComfyUI跨平台图像生成一致性
  • 2026年上海GEO推荐全景评测:生成式引擎优化服务商选型指南与企业决策参考 - 资讯纵览
  • 2026厦门滨海装修防盐雾腐蚀技术要点与行业适配工艺落地解读 - 资讯纵览
  • 2026简历制作app推荐排行
  • 实测好用!主流论文写作助手测评,适配全写作流程提质增效
  • 上海公司律师事务所排名:2026最新口碑榜单汇总 - 资讯纵览

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号