表格(Table)

![image.png](https://cdn.openluat-luatcommunity.openluat.com/images/20220314171155582_image.png) ## 示例代码 ```lua --创建表格 Table1 = lvgl.table_create(lvgl.scr_act(),nil) --设置表格为4行5列 lvgl.table_set_row_cnt(Table1,4) lvgl.table_set_col_cnt(Table1,5) --给每个单元格赋值 lvgl.table_set_cell_value(Table1, 0, 0, "选手") lvgl.table_set_cell_value(Table1, 1, 0, "1号") lvgl.table_set_cell_value(Table1, 2, 0, "2号") lvgl.table_set_cell_value(Table1, 3, 0, "3号") lvgl.table_set_cell_value(Table1, 0, 1, "性别") lvgl.table_set_cell_value(Table1, 1, 1, "男") lvgl.table_set_cell_value(Table1, 2, 1, "男") lvgl.table_set_cell_value(Table1, 3, 1, "女") lvgl.table_set_cell_value(Table1, 0, 2, "身高(m)") lvgl.table_set_cell_value(Table1, 1, 2, "180") lvgl.table_set_cell_value(Table1, 2, 2, "176") lvgl.table_set_cell_value(Table1, 3, 2, "168") lvgl.table_set_cell_value(Table1, 0, 3, "体重(kg)") lvgl.table_set_cell_value(Table1, 1, 3, "72") lvgl.table_set_cell_value(Table1, 2, 3, "68") lvgl.table_set_cell_value(Table1, 3, 3, "56") lvgl.table_set_cell_value(Table1, 0, 4, "星座") lvgl.table_set_cell_value(Table1, 1, 4, "白羊座") lvgl.table_set_cell_value(Table1, 2, 4, "射手座") lvgl.table_set_cell_value(Table1, 3, 4, "金牛座") --设置表格对齐方式 lvgl.obj_align(Table1,Father,lvgl.ALIGN_IN_TOP_MID,0,0) --设置单元格类型 lvgl.table_set_cell_type(Table1,0,0,3) lvgl.table_set_cell_type(Table1,0,1,3) lvgl.table_set_cell_type(Table1,0,2,3) lvgl.table_set_cell_type(Table1,0,3,3) lvgl.table_set_cell_type(Table1,0,4,3) --设置类型样式 lvgl.obj_add_style(Label1, lvgl.TABLE_PART_CELL3, demo_ThemeFontStyle_PURPLE) --设置单元格对齐方式 --lvgl.table_set_cell_align(Table1,0,2,lvgl.LABEL_ALIGN_RIGHT) --lvgl.table_set_cell_align(Table1,1,2,lvgl.LABEL_ALIGN_LEFT) --lvgl.table_set_cell_align(Table1,2,2,lvgl.LABEL_ALIGN_CENTER) --获取并显示单元格属性 Label1 = lvgl.label_create(lvgl.scr_act(),nil) lvgl.label_set_text(Label1,"获取单元格(0,0)的值: "..lvgl.table_get_cell_value(Table1,0,0).."\n\n获取行数: "..lvgl.table_get_row_cnt(Table1).."\n\n获取列数: "..lvgl.table_get_col_cnt(Table1).."\n\n获取第一列的列宽: "..lvgl.table_get_col_width(Table1,0).."\n\n获取第二列的列宽: "..lvgl.table_get_col_width(Table1,1).."\n\n获取单元格(0,2)的文本对齐方式: "..lvgl.table_get_cell_align(Table1,0,2).."\n\n获取单元格(0,2)类型: "..lvgl.table_get_cell_type(Table1,0,2).."\n\n获取单元格(0,2)的裁剪属性: "..lvgl.table_get_cell_crop(Table1,0,2).."\n\n获取单元格(3,0)合并属性: "..tostring(lvgl.table_get_cell_merge_right(Table1,3,0))) lvgl.obj_align(Label1,nil,lvgl.LABEL_ALIGN_LEFT,-209,93) lvgl.obj_add_style(Label1, lvgl.LABEL_PART_MAIN, demo_ThemeStyle_IndicAndFont) ``` ## API ### lvgl.table_create |调用|lvgl.table_create(par,copy)| |-|-| |功能|创建表格对象| |返回|指向创建的表格的指针| |参数|| |par|指向对象的指针, 它将是新表格的父对象| |copy|指向表格对象的指针, 如果不为 nil, 则将从其复制新对象| ### lvgl.table_set_row_cnt |调用|lvgl.table_set_row_cnt(table, row_cnt)| |-|-| |功能|设置行数| |返回|无| |参数|| |table|指向表格对象的指针| |row_cnt|行数| ### lvgl.table_set_col_cnt |调用|lvgl.table_set_col_cnt(table, col_cnt)| |-|-| |功能|设置列数| |返回|无| |参数|| |table|指向表格对象的指针| |col_cnt|列数| ### lvgl.table_set_cell_value |调用|lvgl.table_set_cell_valuet(table, row, col, "Content")| |-|-| |功能|设置单元格内容| |返回|无| |参数|| |table|指向表格对象的指针| |row|行序号| |col|列序号| |"Content"|行列所在单元格显示内容| ### lvgl.table_set_cell_type |调用|lvgl.table_set_cell_typet(table, row, col, type)| |-|-| |功能|设置单元格类型| |返回|无| |参数|| |table|指向表格对象的指针| |row|行序号| |col|列序号| |type|类型,类型为定值: 1, 2, 3, 4| ### lvgl.table_set_cell_align |调用|lvgl.table_set_cell_align(table, row, col, align)| |-|-| |功能|设置单元格文本对齐方式| |返回|无| |参数|| |table|指向表格对象的指针| |row|行序号| |col|列序号| |align|对齐方式| ||lvgl.LABEL_ALIGN_LEFT| ||lvgl.LABEL_ALIGN_LEFT| ||lvgl.LABEL_ALIGN_CENTER| ||lvgl.LABEL_ALIGN_AUTO| ### lvgl.table_set_col_width |调用|lvgl.table_set_col_width(table, col, width)| |-|-| |功能|设置列的宽度| |返回|无| |参数|| |table|指向表格对象的指针| |col|列序号| |width|列宽度| ### lvgl.table_get_cell_value |调用|lvgl.table_get_cell_value(table, row, col)| |-|-| |功能|获取单元格内容| |返回|单元格内容| |参数|| |table|指向表格对象的指针| |row|行序号| |col|列序号| ### lvgl.table_get_row_cnt |调用|lvgl.table_get_row_cnt(table)| |-|-| |功能|获取表格行数| |返回|表格行数| |参数|| |table|指向表格对象的指针| ### lvgl.table_get_col_cnt |调用|lvgl.table_get_col_cnt(table)| |-|-| |功能|获取表格列数| |返回|表格列数| |参数|| |table|指向表格对象的指针| ### lvgl.table_get_col_width |调用|lvgl.table_get_col_width(table, col)| |-|-| |功能|获取列宽| |返回|列宽| |参数|| |table|指向表格对象的指针| |col|列序号| ### lvgl.table_get_cell_align |调用|lvgl.table_get_cell_align(table, row, col)| |-|-| |功能|获取单元格文本对齐方式| |返回|对齐方式| |参数|| |table|指向表格对象的指针| |row|行序号| |col|列序号| ### lvgl.table_get_cell_type |调用|lvgl.table_get_cell_type(table, row, col)| |-|-| |功能|获取单元格类型| |返回|类型| |参数|| |table|指向表格对象的指针| |row|行序号| |col|列序号| ## 测试固件版本和脚本 [LuatOS-HMI_V3211_RDA8910.pac](https://cdn.openluat-luatcommunity.openluat.com/attachment/20220314175346570_LuatOS-HMI_V3211_RDA8910.pac) [Table.7z](https://cdn.openluat-luatcommunity.openluat.com/attachment/20220314175511884_Table.7z) [参考链接(C语言)](http://lvgl.100ask.org/7.11/documentation/04_widgets/30_table.html)