LittlevGL---Check box(复选框)---11

目的

学习使用复选框。

功能描述

同其他ui的复选框一样,littlevGL也提供了一个复选框功能。用户可以配置复选框的风格,文本,以及事件回调的应答任务。

控件创建步骤及函数

创建步骤

用户可以创建一个复选框对象,并配置对应的文本。此文本不能是局部变量。可配置复选框的初始状态,是否有效,以及风格和对应事件。

函数

  • 控件创建

lv_obj_t *lv_cb_create(lv_obj_t *par, constlv_obj_t *copy)
  • 设置控件文本

void lv_cb_set_text(lv_obj_t *cb, const char *txt)//指向动态的

void lv_cb_set_static_text(lv_obj_t *cb, const char *txt)//静态的

const char *lv_cb_get_text(constlv_obj_t *cb)
  • 设置控件的选择状态

static void lv_cb_set_checked(lv_obj_t *cb, bool checked)//控制控件选取状态

static bool lv_cb_is_checked(constlv_obj_t *cb)
  • 是否使能控件

static void lv_cb_set_inactive(lv_obj_t *cb)//设置控件无效

static bool lv_cb_is_inactive(constlv_obj_t *cb)
  • 配置控件风格

void lv_cb_set_style(lv_obj_t *cb, lv_cb_style_ttype, const lv_style_t *style)


LV_CB_STYLE_BG Background style. Uses all style.body properties. The label’s style comes from style.text. Default: lv_style_transp
LV_CB_STYLE_BOX_REL Style of the released box. Uses the style.body properties. Default: lv_style_btn_rel
LV_CB_STYLE_BOX_PR Style of the pressed box. Uses the style.body
LV_CB_STYLE_BOX_INA Style of the inactive box. Uses the style.body properties. Default: lv_style_btn_ina

const lv_style_t *lv_cb_get_style(constlv_obj_t *cb, lv_cb_style_ttype)
  • 事件

 lv_obj_set_event_cb(cb, event_handler)

     LV_EVENT_VALUE_CHANGED//事件类型

案例和代码

实现一个复选框,配置其事件,打印当前按下和释放的状态。

        

#include "ljy_check.h"
#include "lvgl/lvgl.h"
#include <stdio.h>


static void CheckBoxEventCb(lv_obj_t * obj, lv_event_t event)
{
    if(event == LV_EVENT_VALUE_CHANGED) {
        printf("State: %s\n", lv_cb_is_checked(obj) ? "Checked" : "Unchecked");
		lv_cb_is_checked(obj)? lv_cb_set_text(obj, "OK"):lv_cb_set_text(obj, "unok");//切换txt
    }
}

void DrawCheckBox()
{
	//1. 创建一个cb0
    lv_obj_t * cb = lv_cb_create(lv_scr_act(), NULL);
	//2. 配置文本
    lv_cb_set_text(cb, "Agree");
	//3. 显示中心
    lv_obj_align(cb, NULL, LV_ALIGN_CENTER, 0, 0);
	//4. 回调事件
    lv_obj_set_event_cb(cb, CheckBoxEventCb);
}

结论

初始界面

操作界面

发布了17 篇原创文章 · 获赞 5 · 访问量 5623

猜你喜欢

转载自blog.csdn.net/weixin_43854435/article/details/101360077
今日推荐