当前位置: 首页 > news >正文

合宙Air724UG LuatOS-Air LVGL API控件--复选框 (Checkbox)

复选框 (Checkbox)
在这里插入图片描述

复选框主要是让用户进行一些内容选择,或者同意用户协议。

示例代码
– 复选框回调函数
function event_handler(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
print(“State”, lvgl.checkbox_is_checked(obj))
end
end
– 创建复选框
cb = lvgl.checkbox_create(lvgl.scr_act(), nil)
– 设置标签
lvgl.checkbox_set_text(cb, “I agree to terms and conditions.”)
– 设置居中位置
lvgl.obj_align(cb, nil, lvgl.ALIGN_CENTER, 0, 0)
– 设置回调函数
lvgl.obj_set_event_cb(cb, event_handler)
创建
通过 lvgl.checkbox_create 函数可以创建一个复选框控件。与按钮不同的是,这里文字属于复选框的一部分,不需要额外创建标签来显示文字,因为复选框本身就是按钮和标签组合而成的。

cb = lvgl.checkbox_create(lvgl.scr_act(), nil)
使用
复选框主要是让用户进行一些内容选择,或者同意用户协议。文本内容是通过 lvgl.checkbox_set_text 设置的。

lvgl.checkbox_set_text(cb, “I agree to terms and conditions.”)
状态
复选框控件同按钮一样,可以通过设置风格改变状态,有关风格样式的说明可以参考 样式 章节,复选框可以设置的状态也有6种:

lvgl.BTN_STATE_RELEASED – 正常
lvgl.BTN_STATE_PRESSED – 按下
lvgl.BTN_STATE_DISABLED – 禁用
lvgl.BTN_STATE_CHECKED_RELEASED – 切换按钮 释放
lvgl.BTN_STATE_CHECKED_PRESSED – 切换按钮 按下
lvgl.BTN_STATE_CHECKED_DISABLED – 切换按钮 禁用
我们可以遍历打印一下所有状态

function addBtn(y, s)
local cb = lvgl.checkbox_create(lvgl.scr_act(), nil)
lvgl.obj_align(cb, nil, lvgl.ALIGN_CENTER, 0, y)
lvgl.checkbox_set_text(cb, s)
lvgl.checkbox_set_state(cb, lvgl[s])
end

addBtn(-100, “BTN_STATE_RELEASED”) – 正常
addBtn(-50 , “BTN_STATE_PRESSED”) – 按下
addBtn(0 , “BTN_STATE_DISABLED”) – 禁用
addBtn(50 , “BTN_STATE_CHECKED_RELEASED”) – 切换按钮 释放
addBtn(100 , “BTN_STATE_CHECKED_PRESSED”) – 切换按钮 按下
addBtn(150 , “BTN_STATE_CHECKED_DISABLED”) – 切换按钮 禁用
在这里插入图片描述

事件
复选框获取事件消息一般不是靠点击事件(虽然也可以响应),而是靠 lvgl.EVENT_VALUE_CHANGED 消息。

– 复选框回调函数
function event_handler(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
print(“State”, lvgl.checkbox_is_checked(obj))
end
end

lvgl.obj_set_event_cb(cb, event_handler)
在这里插入图片描述

API
lvgl.checkbox_create
调用 lvgl.checkbox_create(par, copy)
功能 创建一个复选框对象
返回 指向新复选框的指针
参数
par 指向对象的指针, 它将是新复选框的父对象
copy 指向复选框对象的指针, 如果不为 nil, 则将从其复制新对象
lvgl.checkbox_set_text
调用 lvgl.checkbox_set_text(cb, txt)
功能 设置复选框的文本。
参数
cb 指向复选框的指针。
txt 复选框的文本。
lvgl.checkbox_set_checked
调用 lvgl.checkbox_set_checked(cb, checked)
功能 设置复选框的状态
参数
cb 指向复选框对象的指针
checked true:选中 false:未选中
lvgl.checkbox_set_disabled
调用 lvgl.checkbox_set_disabled(cb)
功能 使复选框处于非活动状态(禁用)
参数
cb 指向复选框对象的指针
lvgl.checkbox_set_state
调用 lvgl.checkbox_set_state(cb, state)
功能 设置复选框的状态
参数
cb 指向复选框对象的指针
state 复选框的新状态
lvgl.checkbox_get_text
调用 lvgl.checkbox_get_text(cb)
功能 获取复选框的文本
返回 指向复选框文本的指针
参数
cb 指向复选框对象的指针
lvgl.checkbox_is_checked
调用 lvgl.checkbox_is_checked(cb)
功能 获取复选框的当前状态
返回 true:选中;false:未选中
参数
cb 指向复选框对象的指针
lvgl.checkbox_is_inactive
调用 lvgl.checkbox_is_inactive(cb)
功能 获取复选框是否处于非活动状态。
返回 true:是 false:否
参数
cb 指向复选框对象的指针
lvgl.checkbox_get_state
调用 lvgl.checkbox_get_state(cb)
功能 获取复选框的当前状态
返回 复选框的状态
参数
cb 指向复选框对象的指针

http://www.lryc.cn/news/150423.html

相关文章:

  • 使用nps实现内网穿透
  • 时序预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元时间序列预测
  • websocket和uni-app里使用websocket
  • Opencv-C++笔记 (18) : 轮廓和凸包
  • 【半监督医学图像分割】2022-MedIA-UWI
  • python发送邮件
  • gitee上传本地项目bug
  • 自然语言处理2-NLP
  • 穿上App外衣,保持Web灵魂——PWA温故
  • 【跟小嘉学 Rust 编程】二十六、Rust的序列化解决方案(Serde)
  • 菜鸟教程《Python 3 教程》笔记(14):函数
  • SEC推迟ETF,BTC跌破26k,十年之约#6逢跌加仓
  • c++20 多线程并发 latch barrier semaphore
  • 【8 排序】简单选择排序。
  • 中国太保首席数据库专家林春:先难后易,核心系统数据库升级复盘
  • 数字孪生智慧工厂:电缆厂 3D 可视化管控系统
  • 使用WebSocket实现聊天功能
  • Ubuntu升级Cmake、gcc、g++
  • 8月28日上课内容 第四章 MySQL备份与恢复
  • es字段查询加keyword和不加keyword的区别
  • 前端JavaScript将数据转换成JSON字符串以及将JSON字符串转换成对象的两个API
  • Spring——Spring Boot基础
  • Python基础之基础语法(二)
  • docker常见面试问题详解
  • Auto-GPT 学习笔记
  • 代码随想录 - Day30 - 修剪二叉树,转换二叉树 + 二叉树总结
  • [音视频] sdl 渲染到外部创建的窗口上
  • MongoDB之索引
  • Redis的介绍
  • 一文了解Docker的用法