LVGL控件之表格(lv_table)

news2024/11/25 2:00:05

目录

  • 一、概述
  • 二、表格
    • 1、设置单元格的值
    • 2、行和列的设置
    • 3、宽度和高度的设置
    • 4、合并单元格
    • 5、滚动
    • 6、事件
    • 7、API 函数


一、概述

Table(表格)是由包含文本的行、列和单元格构建的。

表格对象非常轻量级,因为仅存储文本。没有为各个单元格创建真实的对象,因为它们只是即时绘制出来的。

表格对象默认已经在默认组中(如果已设置)。可以在导航模式下选中整张表,之后进入编辑模式可以在各个单元格之间进行移动选择。

  • LV_PART_MAIN 表格的背景使用了所有典型的背景样式属性。
  • LV_PART_ITEMS 表格的单元格也使用所有典型的背景样式属性和文本属性。

二、表格

1、设置单元格的值

在默认的情况下,用户创建出表格部件,该表格中并没有任何的内容,如果我们想在某个单元格中添加文本,则可调用 lv_table_set_cell_value 函数。

lv_obj_t *table = lv_table_create(lv_scr_act());

/*Fill the first column*/
lv_table_set_cell_value(table, 0, 0, "Name");
lv_table_set_cell_value(table, 1, 0, "Jorden");
lv_table_set_cell_value(table, 2, 0, "Jame");
lv_table_set_cell_value(table, 3, 0, "Kobe");

/*Fill the second column*/
lv_table_set_cell_value(table, 0, 1, "Age");
lv_table_set_cell_value(table, 1, 1, "52");
lv_table_set_cell_value(table, 2, 1, "36");
lv_table_set_cell_value(table, 3, 1, "40");

lv_obj_center(table);

2、行和列的设置

在默认的情况下,用户创建出表格部件,该部件只拥有一个单元格,如果我们需要设置单元格的行数和列数,可调用 lv_table_set_row_cntlv_table_set_col_cnt 函数。

lv_table_set_row_cnt(table,2);  /*设置行数 */
lv_table_set_col_cnt(table,2);  /*设置列数 */

行和列的编号都是从 0 开始的

3、宽度和高度的设置

在表格部件中,用户可通过 lv_table_set_col_width 函数设置某一列的宽度,而单元格的高度则根据单元格样式(字体、填充等)和行数自动计算出来的。

lv_table_set_col_width(table, 0, 500);

4、合并单元格

合并单元格是指将指定的连续单元区域合并为 1 个单元格,示意图如下所示:

由上图可知:如果 a 和 b 的单元格发生合并,合并之后的单元格归 a 单元格所有,而 b 单元格将被删除。注意:在表格部件中,某一个单元格只能和右边的单元格进行合并,不能垂直合并单元格。用户需要合并单元格,可调用 lv_table_add_cell_ctrl 函数。

在这里插入代码片

lv_table_add_cell_ctrl(table, 0, 0, LV_TABLE_CELL_CTRL_MERGE_RIGHT);

5、滚动

如果标签的宽度或高度设置为 LV_SIZE_CONTENT 则该尺寸将用于在相应方向上显示整个表格。 例如。lv_obj_set_size(table, LV_SIZE_CONTENT, LV_SIZE_CONTENT) 自动设置表格大小以显示所有列和行。

如果宽度或高度设置为小于“固有”大小的数字,则表格变为可滚动的。

6、事件

  • LV_EVENT_VALUE_CHANGED:用选择(通过触摸或按键点击)单元格时发送的事件。

7、API 函数

函数描述
lv_table_create()创建表格对象
lv_table_set_cell_value()设置单元格的值
lv_table_set_cell_value_fmt()设置单元格的值(格式化输入)
lv_table_set_row_cnt()设置行数
lv_table_set_col_cnt()设置列数
lv_table_set_col_width()设置列的宽度
lv_table_add_cell_ctrl()向单元格添加控制位
lv_table_clear_cell_ctrl()清除单元格的控制位
lv_table_get_cell_value()获取单元格的值
lv_table_get_row_cnt()获取行数
lv_table_get_col_cnt()获取列数
lv_table_get_col_width()获取列的宽度
lv_table_has_cell_ctrl()判断单元格是否具有控制位
lv_table_get_selected_cell()获得选定的单元格

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2135222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Altium Designer常用操作备忘笔记

Altium Designer常用操作备忘笔记 Chapter1 Altium Designer常用操作备忘笔记Chapter2 Altium Designer 22.1.2使用总结(常更)一、原理图1.1 绘制元器件原理图1.2 绘制元器件封装1.3 修改原理图网格1.4 修改原理图库后更新当前原理图1.5 旋转和翻转1.6 悬…

Leetcode Hot 100刷题记录 -Day15(螺旋矩阵)

螺旋矩阵 问题描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输…

104. 二叉树的最大深度【 力扣(LeetCode) 】

零、LeetCode 原题 104. 二叉树的最大深度 一、题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 二、测试用例 示例 1: 输入:root [3,9,20,null,null,15,7] 输出…

[git] MacBook 安装git

文章目录 1.Mac Git 安装2. 开发者工具安装 CommandLineTools安装完成,错误解决 3. git 账户配置账户设置生成秘钥git 或者 gitee 仓库添加公钥查看全局账户命令多账户设置config文件测试连接clone到本地 1.Mac Git 安装 Mac一般自带Git工具,也就是说已…

监听html元素是否被删除,删除之后重新生成被删除的元素

/*** 监听水印是否清除和修改*/ export function watermarkClear() {// 添加水印的盒子let box: any document.querySelector(.dplayer-video-wrap)// 水印let watermark: any document.querySelector(.dplayer-logo)// 观察器的配置(需要观察什么变动&#xff09…

css scrollbar-width: none 隐藏默认滚动条

.table-box{ flex: 1; overflow-y: scroll; scrollbar-width: none;} scrollbar-width: none; 隐藏默认滚动条

计算机二级自学笔记(程序题1部分)

(1)b fun函数内a数组作为参数,下方提供了b函数作为中间数组所以在这进行初始化 (2)2 第二个循环内将a数组分为1-27与27-55两部分,1-27存放在b数组的奇数位,27-55存放在b数组的偶数位 (3)a[k] 将b数组传递回数组a nm mn 已经有的参数…

使用 PyTorch 构建 MNIST 手写数字识别模型

引言 MNIST 数据集是一个经典的机器学习数据集,包含了 70,000 张手写数字图像,其中 60,000 张用于训练,10,000 张用于测试。每张图像都是 28x28 像素的灰度图像,并且已经被居中处理以减少预处理步骤。本文将介绍如何使用 PyTorch…

剪辑必备,6个可白嫖的视频素材网站。

找视频素材就上这6个网站,免费下载,赶紧收藏好! 1、菜鸟图库 视频素材下载_mp4视频大全 - 菜鸟图库 菜鸟图库网素材非常丰富,网站主要以设计类素材为主,高清视频素材也很多,像风景、植物、动物、人物、科技…

Redis(主从复制、哨兵模式、集群)概述及部署测试

目录 一、Redis 主从复制 1.1、Redis 主从复制概念 1.2、主从复制的作用 1.3、主从复制流程 1.4、搭建Redis 主从复制 二、Redis 哨兵模式 2.1、Redis 哨兵模式概念 2.2、哨兵模式原理 2.3、哨兵模式的作用 2.4、哨兵模式的结构 2.5、故障转移机制 2.6、主节点的选…

性能诊断的方法(四):自下而上的资源诊断方法和发散的异常信息诊断方法

关于性能诊断的方法,我们可以按照“问题现象—直接原因—问题根源”这样一个思路去归纳。我们先从问题的现象去入手,包括时间的分析、资源的分析和异常信息的分析。接下来再去分析产生问题现象的直接原因是什么,这里我们归纳了自上而下的资源…

从安装ffmpeg开始,把一个视频按照每秒30帧fps剪切为图片

ffmpeg -i demo.mp4 -vf fps1 -start_number 0 %5d.jpg没有ffmpeg 的去官网下载, ffmpeg.org/download.html 下载好之后,解压进入bin文件夹 复制当前路径,下一步 配置环境 进入本机环境变量,把地址添加到path中 之后进入anacond…

Vue - 详细介绍vue-qr在线生成二维码组件(Vue2 Vue3)

Vue - 详细介绍vue-qr在线生成二维码组件(Vue2 & Vue3) 在对于二维码生成中有许多组件,下面介绍关于自定义比较高的vue-qr组件,能自定义设置背景颜色、背景图片、背景Gif图、实点和空白区的颜色、中心Logo的图片和边距。 一…

为什么企业可以通过数据产品实现商业价值

管理者们通常希望可以通过数据洞悉更精准的商业趋势。 根据 Gartner 2023 年的调查显示,有69%的数据分析师或数据管理者们,仍在努力通过数据分析,希望实现可衡量的投资回报率,而数据产品是实现这一难题的重要解决方案之一。 什么…

USBCANFD卡在新能源BMS上位机的应用

使用简明教程:插入一个视频 USBCANFD-401是一款高性能的USB转双路CANFD/LIN的CANFD盒,支持单路CNA(FD)和LIN转USB通信。 通过USB接口快速接入CANFD或LIN通道,使接入CAN/CANFD/LIN网络变得轻松便捷。该设备采用金升阳电源模块和信号隔离芯片&…

GAMES101(2~3作业)

作业2 基础题目: 栅格化:在屏幕绘制一个实心三角形,函数 rasterize_triangle(const Triangle& t),需要找出当前三角形的边界框,然后遍历像素,查找当前像素是否在三角形内static bool insideTriangle(…

ESP32开发 -- 初识

一、ESP32官网 ESP32官网 二、文档下载 用的是ESP32-S3-MINI-1,官网查看相关文档 相关文档 三、技术规格书 四、开发板 参看:ESP32-S3 系列开发板 ESP32-S3-MINI-1 相关开发板的示例代码,后续可以参考。 Espressif Systems esp-dev-…

9天也能养成ins账号!超详细操作指南

Instagram,作为全球最受欢迎的社交媒体平台之一,为跨境电商卖家们提供了一个展示产品、吸引潜在客户的绝佳舞台。然而,受限于ins的规则,要想在这个平台上进行产品的宣传并非易事。 这就是为什么我们需要精心培养一个ins账号&#…

Linux(4)--CentOS8虚拟机下联网

文章目录 1. 背景2. VmWare配置3. 电脑网络配置4. 配置虚拟机网络5. 重启联网 1. 背景 安装CentOS后,尚不能联网,没有网络就不好上网,所以先解决上网问题。 2. VmWare配置 打开VmWare,点击编辑-虚拟网络编辑器,选择…

PyCharm使用ipynb文件交互式绘图

PyCharm配置 Jupyter Notebook 这个文章很全 PyCharm配置 Jupyter Notebook plotly方法 终端安装: pip install plotlyimport plotly.graph_objects as go import numpy as np# 示例数据 X np.linspace(-5, 5, 100) Y np.linspace(-5, 5, 100) X, Y np.meshg…