您的位置:首页 > 文旅 > 旅游 > 便民服务_微信pc版_网络营销产品推广方案_零基础学电脑培训班

便民服务_微信pc版_网络营销产品推广方案_零基础学电脑培训班

2025/5/17 18:20:17 来源:https://blog.csdn.net/weixin_38828382/article/details/146550419  浏览:    关键词:便民服务_微信pc版_网络营销产品推广方案_零基础学电脑培训班
便民服务_微信pc版_网络营销产品推广方案_零基础学电脑培训班

在上一讲我们讲解了按键回调函数的自定义函数的用法,这一讲继续讲解回调函数的另一种用法。
首先我们将上一讲做好的按键名称以及自定义回调事件中的按键名称修改,改为默认模式为“open”当点击按键时进入回调函数将按键名称改为“close”,具体如下图所示:
在这里插入图片描述
然后按照上一讲的讲解找到自定义函数,将opoen修改为close,具体如下图所示:在这里插入图片描述
然后在左侧的工具栏中选择led控件,添加到按键的正上方放大,并且修改默认颜色为黑色。在这里插入图片描述
右键按键控件选择事件添加,在事件添加中点击clicked信号右侧的加号添加需要绑定的事件。在这里插入图片描述
在触发事件中选择需要做出回应的对象,这里我们点击led_1控件,点击确认。在这里插入图片描述
点击clicked信号右上角的if按键,在弹出的弹窗中点击加号,在if右侧的条件栏填写“flag_btnflase”,点击确认。Flag_btn在上一讲代码中用来判断按键的状态,false表示当前已经按下,true表示当前按键未被按下。在这里插入图片描述
然后点击led_1左侧的加号,添加触发的条件限制“flag_btn
false”,在右侧加号中选择改控件要做出的反应,在这里我们选择色彩修改为黄色,模拟当按键按下后灯泡亮起。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后我们根据之前的操作,为else条件添加led_1控件变黑的动作。在这里插入图片描述
到此为止,模拟按键打开灯泡的demo就做好了,以下是回调事件中的代码:
static void screen_btn_1_event_handler (lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
switch (code) {
case LV_EVENT_CLICKED:
{
//控制按键字体的变化
btn_clicked();
if (flag_btn==false) {
//改变led_1为黄色
lv_led_set_color(guider_ui.screen_led_1, lv_color_hex(0xeff316));
} else {
//改变led_1为黑色
lv_led_set_color(guider_ui.screen_led_1, lv_color_hex(0x000000));
}
break;
}
default:
break;
}
}
以下是led控件的相关函数:
//基于父控件创建led_1控件
ui->screen_led_1 = lv_led_create(ui->screen);
//控制led_1的亮度,亮度范围为0~255
lv_led_set_brightness(ui->screen_led_1, 255);
//设置led_1的颜色为黑色
lv_led_set_color(ui->screen_led_1, lv_color_hex(0x000000));
//设置led_1的位置及其大小
lv_obj_set_pos(ui->screen_led_1, 128, 100);
lv_obj_set_size(ui->screen_led_1, 214, 220);
以下是led相关函数,具体使用请查看适合版本的官方手册。
• lv_led_create: 创建 LED 控件。
• lv_led_set_on: 设置 LED 是否点亮。
• lv_led_set_color: 设置 LED 的颜色。
• lv_led_set_brightness: 设置 LED 的亮度。
• lv_led_get_color: 获取 LED 的颜色。
• lv_led_get_brightness: 获取 LED 的亮度。
• lv_led_set_style: 设置 LED 的样式。

下一期我们将讲其他控件的基础使用。

第五讲视频

本文章由威三学社出品
对课程感兴趣可以私信联系

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com