LCGL基本使用

LVGC簡介

light video Graphics Library
(1)純c與語言編程,將面向對象的思想植入c語言。
(2)輕量化圖形庫資源,人機交互效果好,在(ios Android QT)移植性較好,但是這些平臺對硬件要求較高

lcgc工程搭建

  1. 工程源碼的獲取
    獲取工程結構
    https://github.com/lvgl/lv_port_pc_vscode/tree/master
    在這里插入圖片描述
    獲取lvgl組件庫
    https://github.com/lvgl/lvgl/tree/db62f65c22811acf36b9b83da0228d7389317283
    在這里插入圖片描述將工程架構壓縮包裝包解壓到Linux下,解壓LCGL到工程的lvgl文件夾下
  2. 根據README進行操作
  3. 工程的編譯

編程思想

使用面向對象操作,由于c語言中沒有類的蓋面,用結構體代替
在這里插入圖片描述

lvgl中examples文件的解釋

anim:存放與動畫(Animation)相關的示例
arduino:針對 Arduino 平臺的示例
assest:資源
event:事件(Event)相關示例,像按鈕點擊、滑動等事件的監聽、處理邏輯
get_started:入門示例,適合剛接觸 LVGL 的開發者,包含最基礎的初始化、簡單控件創建等代碼,幫用戶快速搭建起基本使用框架 。
grad:漸變(Gradient)相關示例,比如顏色漸變效果在控件(如按鈕、窗口背景等)
layouts:布局(Layout)示例,介紹 LVGL 各種布局管理方式,像行列布局、對齊方式等,讓界面元素能合理排列
libs:可能存放一些輔助庫、第三方依賴庫相關的示例,或者是 LVGL 自身基礎庫功能的演示
others:其他雜項示例
porting:移植相關示例
scroll:滾動(Scroll)相關示例
styles:樣式(Style)示例
widgets:控件(Widgets,如按鈕、標簽、滑塊等 )示例,每個常用控件的創建、配置、交互邏輯等

控件基本操作

新建對象

lv_obj_t *obj = lv_obj_create(lv_screen_active());//新建一個對象,是整個屏幕作為父
// 設置寬度、高度
lv_obj_set_width(obj, new_width);
lv_obj_set_height(obj, new_height);
lv_obj_set_size(struct _lv_obj_t *obj, lv_coord_t w, lv_coord_t h)// 獲取寬度、高度
lv_obj_get_width(obj);
lv_obj_get_height(obj);// 設置x軸、y軸方向的坐標位置
lv_obj_set_x(obj, new_x);
lv_obj_set_y(ob

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91371.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91371.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91371.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

嵌入式第十六課!!!結構體與共用體

一、結構體結構體是一種數據類型,它的形式是這樣的:struct 結構體名{ 結構體成員語句1;結構體成員語句2;結構體成員語句3;};舉個例子:struct Student {int id;char name[20];float score…

java web 實現簡單下載功能

java web 實現簡單下載功能 項目結構├── src\ │ ├── a.txt │ └── com\ │ └── demo\ │ └── web\ │ ├── Cookie\ │ ├── download\ │ ├── homework\ │ ├── serv…

虛幻基礎:模型穿模

能幫到你的話,就給個贊吧 😘 文章目錄模型穿模模型之間的阻擋是否正確設置模型是角色的組件:角色的組件不會與場景中其他的物體發生阻擋但可以發生重疊模型穿模 模型之間的阻擋是否正確設置 模型是角色的組件:角色的組件不會與場…

【Linux】linux基礎開發工具(二) 編譯器gcc/g++、動靜態庫感性認識、自動化構建-make/Makefile

文章目錄一、gcc/g介紹二、gcc編譯選項預處理編譯匯編鏈接三個細節三、動靜態庫感性認識動靜態庫的優缺點四、自動化構建-make/Makefile背景知識初步上手Makefilemakefile的推導過程makefile語法一、gcc/g介紹 我們之前介紹了編輯器vim,可以讓我們在linux上linux系統…

CentOS 7 上使用 Docker 安裝 Jenkins 完整教程

目錄 前言 準備工作 系統要求 檢查系統信息 更新系統 安裝Docker 第一步:卸載舊版本Docker(如果存在) 第二步:安裝必要的軟件包 第三步:添加Docker官方倉庫 第四步:安裝Docker CE 第五步:啟動Docker服務 第六步:驗證Docker安裝 第七步:配置Docker用戶權限…

30.【.NET8 實戰--孢子記賬--從單體到微服務--轉向微服務】--單體轉微服務--公共代碼--用戶上下文會話

在前面的文章中,我們會看到使用ContextSession來獲取當前用戶的UserId和UserName。這篇文章我們就一起來看看如何實現ContextSession。 一、ContextSession的實現 我們在公共類庫SP.Common中創建一個名為ContextSession的類,用于獲取當前請求的用戶信息。…

BaseDao

#### 10.1 DAO概念> DAO:Data Access Object,數據訪問對象。 > > Java是面向對象語言,數據在Java中通常以對象的形式存在。一張表對應一個實體類,一張表的操作對應一個DAO對象!>> 在Java操作數據庫時&a…

USRP捕獲手機/路由器數據傳輸信號波形(中)

目錄: USRP捕獲手機/路由器數據傳輸信號波形(上) USRP捕獲手機/路由器數據傳輸信號波形(中) USRP捕獲手機/路由器數據傳輸信號波形(下) 三、雙工通信信號捕獲 3.1 信號接收系統 5805e6Hz&a…

使用 Kiro AI IDE 3小時實現全棧應用Admin系統

Hello, 大家好,我是程序員海軍, 全棧開發 |AI愛好者 | 獨立開發。 之前我是采用Node生態開發的大模型以及MCP Server,大模型開發的生態主要是Python語言,為了更好的學習大模型開發,于是開了新坑。開始學習Python, 以及…

瀏覽器pdf、image顯示

瀏覽器地址欄 pdf data:application/pdf;base64, data:application/pdf;base64,JVBERi0xLjcKJeLjz9MKMjMgMCBvYmoKPDwv image data:image/jpeg;base64, data:image/jpeg;base64,/9j/4Q3fRXhpZgAATU0AKgAAAAgABwE

《Linux運維總結:銀河麒麟V10 SP3啟動docker容器報錯permission denied》

總結:整理不易,如果對你有幫助,可否點贊關注一下? 更多詳細內容請參考:Linux運維實戰總結 一、環境信息 二、背景 1、使用docker啟動一個nginx容器,報錯信息如下: docker: Error response from…

PDF源碼解析

PDF源碼解析打開PDF解析PDF?0. 文件頭關鍵信息解析技術原理圖解文件頭的重要性實際文件結構示例開發者注意事項歷史背景1. 根目錄整體結構關鍵字段解析核心概念解釋實際應用場景完整對象關系圖技術總結2. 頁面樹對象結構關鍵字段解析頁面樹工作原理技術要點總結實際應用3. 圖像…

java開閉原則 open-closed principle

基本知識 1.核心思想:面向抽象編程 2.基本內涵:對修改關閉,對擴展開放 3.要求:盡可能不修改源碼而是增加新功能 例子 以spring5核心原理與30個類手寫實戰中的為例 package com.gupaoedu.vip.design.principle.openclose;/*** Crea…

擁抱智慧物流時代:數字孿生技術的應用與前景

概述 在數字經濟全面推進的當下,物流行業正經歷著前所未有的智能化升級。作為新一代信息技術的重要代表,數字孿生技術正悄然改變著物流的運作方式和決策模式。所謂數字孿生,是指在虛擬空間中創建與現實物流系統高度一致的數字模型&#xff0…

libnest2d-頭文件分析-libnest2d.hpp-幾何類型-策略類型-參數配置

libnest2d 庫的主頭文件,定義了一個用于 二維不規則形狀自動排樣(Nesting) 的C接口。以下是詳細解析:1. 頭文件結構 (1) 防止重復包含 #ifndef LIBNEST2D_HPP #define LIBNEST2D_HPP // ... #endif // LIBNEST2D_HPP確保頭文件只被…

【Docker】部署Docker可視化管理面板Dpanel

一、DPanel 介紹 1.1 DPanel 簡介 DPanel 是一款專為 Docker 設計的可視化管理面板,旨在降低容器、鏡像及相關資源的管理門檻。通過簡潔直觀的圖形化界面,即使是對 Docker 不熟悉的用戶,也能輕松上手,實現容器化應用的高效部署與管…

GCC/G++ + Makefile/make 使用

一、gcc\g編譯器 什么是gcc和g,它們的區別又是什么? gcc編譯器是專門用來編譯C語言的,而g編譯器既可以編譯C語言又可以用來編譯C,但是主要還是用來編譯C。 我們都知道代碼形成可執行程序都是需要經過預處理、編譯、匯編和鏈接這四…

重復文件查找工具:DataSecurity Plus 全面提升企業文件管理效率

企業日常運營經常會出現這樣的場景:員工在文件傳輸、共享與備份過程中,因操作不當或系統設置問題,出現文件重復存儲;跨部門協作時,相同的項目資料可能被多次保存;隨著數據遷移與系統升級,重復文…

【軟件架構】資源池架構設計中的三種主流模式

在資源池架構設計中,三種主流模式——集中式、分布式和混合式資源池——各有其獨特的優勢、劣勢和適用場景。理解它們的區別對于設計高效、可靠和可擴展的系統至關重要。 下面是對這三種模式的詳細分析和比較:集中式資源池 核心概念: 將所有計…

Java 類加載沖突

在某次線上部署過程中,我們遇到了一個十分詭異的問題:同樣的應用,在 ext3 文件系統下運行正常,但部署到 ext4 文件系統下卻出現了如下異常:The methods class, com.ctc.wstx.io.StreamBootstrapper, is available from…