【LVGL9学习笔记-2.添加百问网demo至工程模板】

ops/2024/9/24 8:42:36/

添加百问网demo至工程模板

上一节使用codeBlocks运行了LVGL ,以此作为模板,将百问网的一些demo添加至该工程中

拷贝文件与配置文件至该目录下

image-20240818211455265

  • 打开工程包含文件

–>add files recusively

image-20240818212120886

–>add files

image-20240818212207728

编译一次出现如下情况(后面学到了再做解决)

image-20240818212541996

打开lv_100ask_lesson_demos_conf.h文件 保留一个宏定义将其他宏定义注释掉 这里只保留了一个2_3_1

image-20240818212845224

再次编译无报错

在main函数中添加头文件并调用demo

image-20240818213219820

编译并运行

image-20240818213306170

小改下输出

image-20240818213524777

    lv_obj_t * obj;lv_obj_t * label;obj = lv_obj_create(lv_screen_active());lv_obj_set_size(obj, LV_PCT(40), LV_PCT(30));lv_obj_align(obj, LV_ALIGN_CENTER, 0, 0);label = lv_label_create(obj);lv_label_set_text_fmt(label, "Hello, LVGL!\n LVGL V%d.%d.%d\n    https://www.100ask.net", lv_version_major(), lv_version_minor(),         lv_version_patch());lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);

使用此段代码替换

     lv_obj_t * parent = lv_obj_create(lv_scr_act());lv_obj_set_size(parent, 240, 240);    // 设置父容器的大小lv_obj_center(parent);                // 将父容器居中显示// 创建一个3x3的网格布局static lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};static lv_coord_t row_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};lv_obj_set_grid_dsc_array(parent, col_dsc, row_dsc);    // 设置父容器的网格布局// 循环创建9个格子for (int i = 0; i < 9; i++) {lv_obj_t * btn = lv_btn_create(parent);             // 创建按钮对象lv_obj_set_grid_cell(btn,LV_GRID_ALIGN_STRETCH, i % 3, 1,LV_GRID_ALIGN_STRETCH, i / 3, 1);  // 将按钮放置到网格的指定位置lv_obj_t * label = lv_label_create(btn);            // 在按钮内创建标签lv_label_set_text_fmt(label, "%d", i + 1);          // 设置标签文本为对应的数字lv_obj_center(label);                               // 将标签居中对齐}

image-20240818214325691


http://www.ppmy.cn/ops/95930.html

相关文章

k8s 部署kubernetes-dashboard

参考&#xff1a; K8s-k8s集群部署-8-部署Dashboard_8. 部署 dashboard-CSDN博客k8s-kubernetes常用命令&#xff0c;服务部署&#xff0c;可视化控制台安装及token的生成_kubernetes-dashboard 生成token-CSDN博客 首先下载yaml文件 $ wget https://raw.githubusercontent.…

从0开发一个 组件/插件 并部署

从零开始发布一个 Vue3 Vite 的 npm 包 1. npm账号配置 1.1 注册新账号 注册地址&#xff1a; www.npmjs.com/signup 1.2 登录账号 在命令行输入&#xff1a; npm login&#xff0c;此时会提醒你打开浏览器进行登录&#xff0c;然后邮件接收验证码&#xff0c;输入登录 …

JS DOM、点击事件

JS DOM 加载事件onload js代码执行的时候&#xff0c;需要html&css的支持 onload在页面加载完之后执行 dom&#xff1a;用JS对html标签进行增删改查 元素节点获取 var name document.getElementById("userName"); var inputs document.getElementsByTagNam…

《Unity3D网络游戏实战》深入了解TCP

从TCP到铜线 应用层 应用层功能是应用程序&#xff08;游戏程序&#xff09;提供的功能。在给客户端发送“hello”的例子中&#xff0c;程序把“hello”转化成二进制流传递给传输层&#xff08;传送给send方&#xff09;​。操作系统会对二进制数据做一系列加工&#xff0c;使…

Django数据库多对多

3.17 Django数据库多对多 在Django中&#xff0c;多对多关系通常通过一个自动创建的中间模型来实现。这个中间模型包含了两个外键&#xff0c;分别指向多对多关系的两端。 示例&#xff1a; #创建models class Auther(models.Model):namemodels.CharField(verbose_name作者,…

Vue `<script setup>` 属性的深入解析

Vue 3 引入了一个令人兴奋的新特性&#xff1a;<script setup>。这个新语法糖让组件的编写变得更加简洁和高效。本文将深入探讨 <script setup> 的作用、原理、使用场景以及它带来的优势&#xff0c;帮助读者更好地理解和应用这一新特性。 <script setup> 的…

下载 kotlin compiler embeddable 巨慢的问题

参考了网上的一些说法 1.用梯子&#xff08;个人实测无作用&#xff0c;换了很多链路&#xff09; 2.官网下载对应的jar放到.gradle的缓存目录下 jar目录&#xff1a;C:\Users\你的username.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddabl…

docker数据卷、资源控制

一、docker数据卷&#xff1a; 1.容器和宿主机之间数据共享----挂载卷----容器内的目录和宿主机的目录进行挂载。实现数据文件共享容器的生命周期有限&#xff0c;一旦重启所有对容器内部文件数据的修改以及保存的数据都会被初始化&#xff0c;所以为了防止数据丢失重要的组件…