首页 > 其他分享 >LVGL 控件之列表(lv_list)

LVGL 控件之列表(lv_list)

时间:2024-09-15 13:20:22浏览次数:3  
标签:控件 btn obj list 列表 lv 按钮 LVGL

目录


一、概述

List(列表) 基本上是一个垂直布局的矩形,按钮指向该矩形并且可以添加文本。

列表部件由两个部分组成:

  • LV_PART_MAIN 使用所有典型背景属性的列表的主要部分
  • LV_PART_SCROLLBAR 滚动条。

二、列表

1、添加列表按钮

在默认的情况下,列表部件被创建出来后,只有一个矩形背景框,并没有任何的文本和按钮,用户需要自行往列表里面添加按钮,添加按钮的相关函数为 lv_list_add_btn

lv_obj_t *list = lv_list_create(lv_scr_act());  /* 创建列表 */
lv_obj_set_width(list, 200);                    /* 设置列表宽度 */
lv_obj_set_height(list, 150);                   /* 设置列表高度 */
lv_obj_center(list);

lv_obj_t *btn;
btn = lv_list_add_btn(list, NULL, "lst1");  /* 添加按钮 */
btn = lv_list_add_btn(list, NULL, "lst2");  /* 添加按钮 */

我们也可以为其添加图标:

图标类型参阅 LVGL 控件之标签(lv_label)

在这里插入图片描述

lv_obj_t *list = lv_list_create(lv_scr_act());  /* 创建列表 */
lv_obj_set_width(list, 200);                    /* 设置列表宽度 */
lv_obj_set_height(list, 150);                   /* 设置列表高度 */
lv_obj_center(list);

lv_obj_t *btn;
btn = lv_list_add_btn(list, LV_SYMBOL_FILE, "New");        /* 添加按钮 */
btn = lv_list_add_btn(list, LV_SYMBOL_DIRECTORY, "Open");  /* 添加按钮 */

2、设置列表文本

列表文本主要用于一类按钮的功能提示或按钮分类。用户需要添加列表文本,可调用 lv_list_add_text 函数进行设置,该函数有两个形参,第一个形参指向列表对象,第二个形参表示设置的文本。

lv_obj_t* list = lv_list_create(lv_scr_act());  /* 创建列表 */
lv_obj_set_width(list, 200);                    /* 设置列表宽度 */
lv_obj_set_height(list, 200);                   /* 设置列表高度 */
lv_obj_center(list);

lv_obj_t* btn;
lv_list_add_text(list, "File");                            /* 列表添加标签 */
btn = lv_list_add_btn(list, LV_SYMBOL_FILE, "New");        /* 添加按钮 */
btn = lv_list_add_btn(list, LV_SYMBOL_DIRECTORY, "Open");  /* 添加按钮 */
lv_list_add_text(list, "Direction");                       /* 列表添加标签 */
btn = lv_list_add_btn(list, LV_SYMBOL_UP, "Up");           /* 添加按钮 */
btn = lv_list_add_btn(list, LV_SYMBOL_DOWN, "Down");       /* 添加按钮 */

3、API 函数

函数描述
lv_list_create()创建列表部件
lv_list_add_text()添加列表文本
lv_list_add_btn()添加列表按钮
lv_list_get_btn_text()获取按下的按钮文本

标签:控件,btn,obj,list,列表,lv,按钮,LVGL
From: https://blog.csdn.net/Teminator_/article/details/142282098

相关文章

  • 使用soui4实现一个拾色器控件
    拾色器拾色器类#pragmaonceclassCClrPickerCtrl:publicSWindow{ DEF_SOBJECT(SWindow,L"clrpicker")public: CClrPickerCtrl(void); ~CClrPickerCtrl(void); //跟solider控件设置色调 voidSetSliderPos(intnPos); //获取选取位置的颜色 COLORREF......
  • 一款类excel可进行显示、在线编辑的纯js表格TableShow控件
        在进行前端显示设计时,传统的方法是以分页显示,逐条提取后修改及保存,非常不利于用户连贯阅读及在线修改。因此,本人将类似excel的一些table表格在线卷动显示、修改及集中保存功能进行了尝试,封装成了一个纯js控件,只通过一句代码进行调用,将数据库查询结果集进行显示和添......
  • 实现 Excel 文件导入到向量数据库(Milvus),并支持 先查询知识库(Milvus),然后再查询大模型(Ol
    为了实现Excel文件导入到向量数据库(Milvus),并支持先查询知识库(Milvus),然后再查询大模型(Ollama)的功能,以下是具体的实现步骤:1.导入Excel数据到向量数据库(Milvus)首先,您需要将Excel文件中的数据向量化,并将这些向量导入到Milvus数据库中。可以使用pandas读取Excel文件,使用......
  • QtDesigner控件提升为自定义控件
    创建自定义控件classMyTextEdit(QTextEdit):fanYi=Signal(str,QPoint)def__init__(self,parent=None):super(MyTextEdit,self).__init__(parent)#指定菜单self.setContextMenuPolicy(Qt.CustomContextMenu)#连接菜单函......
  • .NET 多版本 WinForm 开源控件库 SunnyUI
    合集-.NET开源工具(15) 1..NET开源快捷的数据库文档查询和生成工具07-312..NET结果与错误处理利器FluentResults08-013..NET+WPF桌面快速启动工具GeekDesk08-194.Gradio.NET支持.NET8简化Web应用开发08-265..NET开源实时监控系统-WatchDog08-276.实用接地......
  • demo:tvm优化resnet50 llvm后端cpu上推理
    这是一个完整的例子。使用预训练的resnet50模型,经过tvm优化调整,target=llvm,在cpu上进行推理。最后打印结果是1这个索引代表goldfish importonnxfromtvm.contrib.downloadimportdownload_testdatafromPILimportImageimportnumpyasnpimporttvm.relayasrel......
  • RK3399主板上GM8775C MIPI转LVDS调试
    在开发项目中,笔者需要用一个MPU驱动一个1280x1024的双路LVDS液晶屏,不巧的是这颗MPU硬件上仅支持TTLRGB接口和MIPI接口,没有现成的LVDS接口。一开始是尝试使用THC63LVD827将TTLRGB转成双路LVDS驱动液晶屏,但是发现该MPU的TTLRGB接口最高只能驱动1280x76860fps显示。无奈只能从......
  • LVDS眼图eys diagram测试
    LVDS概述数字设计人员利用低压差分信号(LVDS)进行高速数据传输。LVDS提供更高的比特率、更低的功耗和更好的噪声性能由于互联网的巨大增长,数据传输在所有通信领域都在急剧增加。此外,数字视频、高清电视和彩色图形的数据流需要越来越高的带宽。数字通信洪流是芯片、功能板和系统......
  • 旋转按钮—C#自定义控件1
    C#自定义控件—旋转按钮 C#用户控件之旋转按钮按钮功能:手自动旋转,标签文本显示、点击二次弹框确认(源码在最后边);【制作方法】找到控件的中心坐标,画背景外环、内圆;再绘制矩形开关,进行角度旋转即可获得;【关键节点】No.1获取中心坐标,思考要绘制图形的相对坐标、宽度......
  • QT绘图控件
    下载示例代码voidPlanetSystem::initSystem(){//PlanetNode(公转半径,公转速度,自身半径,自转速度,颜色)rootPlanet=newPlanetNode(0,0.0f,40,1.5f,QColor(255,0,0));PlanetNode*p0=newPlanetNode(100,1.5f,15,1.5f,QColor(255,255,0));......