威三电子  

               威三电子

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十二讲)

2026-07-14 09:18:37

浏览:

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十二讲) 下拉框的信号下拉框的通用信号如下图所示:以下是对信号的说明:Clicked:如果没有


使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十二讲)

  1. 下拉框的信号

下拉框的通用信号如下图所示:

以下是对信号的说明:

Clicked:如果没有被滚动,在释放时被调用(与长按无关)。

Short Clicked: 对象被按下一小段时间,然后释放。如果被滚动,则不会被调用。

Pressed:对象已被按下。

Pressing:对象正在被按下(在按下期间持续调用)。

Press Lost: 对象仍在被按下,但滑动光标/手指离开对象。

Released:在任何对象释放时被调用。

Value Changed: 对象的值已更改(例如,滑块移动)。

Long Pressed: 对象至少被按下`long_press_time`。如果被滚动,则不会被调用。

Long Pressed Repeat:在每`long_press_repeat_time`(长按重复时间)毫秒后,调用一次。如果被滚动,则不会被调用。

Scroll:滚动中。

Scroll Begin: 滚动开始。事件参数是滚动动画的指针,可以被修改。

Scroll End: 滚动结束。

Focused:  对象获得焦点。

Defocused:  对象失去焦点。

Leave:输入设备离开对象上方的悬停状态。

Hit Test: 执行高级点击测试。

Key:将键发送给对象,用lv_indev_get_key(lv_indev_active());获取键值。

除此之外,下拉框有特有的三个信号分别是:


  1. 下拉框的回调函数

添加信号value_changed,设置回调为自定义函数,具体如图所示:


以下是回调的代码:


staticvoidscreen_1_ddlist_1_event_handler (lv_event_t*e)

{

    lv_event_code_t code =lv_event_get_code(e);

    switch(code){

    caseLV_EVENT_VALUE_CHANGED:

{

//获取用户选择的下拉选项,用来进行区分

        uint16_t id =lv_dropdown_get_selected(guider_ui.screen_1_ddlist_1);

       

        break;

    }

    default:

        break;

    }

}

//设置回调函数声明

voidevents_init_screen_1 (lv_ui*ui)

{

   lv_obj_add_event_cb(ui->screen_1_ddlist_1,screen_1_ddlist_1_event_handler,LV_EVENT_ALL,ui);

}


  1. 下拉框的常用函数

[1] 创建下拉框

lv_obj_t * lv_dropdown_create(lv_obj_t * parent, const lv_obj_t * copy);

parent:父对象,即下拉框要添加到的容器。

copy:可以是另一个已存在的下拉框对象,用于复制其属性(如果需要)。


[2] 设置下拉框选项

void lv_dropdown_set_options(lv_obj_t * dropdown, const char * options);

dropdown:下拉框对象。

options:选项字符串,每个选项用\n 分隔。

[3] 获取当前选项

int32_t lv_dropdown_get_selected(lv_obj_t * dropdown);

返回值:当前选中的选项的索引(从0 开始),如果没有选中任何项,则返回LV_DROPDOWN_RESULT_NONE


[4] 设置选中的选项

void lv_dropdown_set_selected(lv_obj_t * dropdown, uint16_t index);

dropdown:下拉框对象。

index:选项的索引(从0 开始)。


[5] 获取下拉框文本

const char * lv_dropdown_get_selected_text(lv_obj_t * dropdown);

返回值:当前选中项的文本字符串。


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

本文章由威三学院出品

对课程感兴趣可以私信联系

0
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十二讲)
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十二讲) 下拉框的信号下拉框的通用信号如下图所示:以下是对信号的说明:Clicked:如果没有
长按图片保存/分享

北京威三电子科技有限公司

突破技术壁垒,芯创智联领航未来

 


北京威三电子科技有限公司 版权所有
京ICP备2026012969号
 

热线:

159-2199-9232

 

图片展示

淘宝店铺:

威三科教

地址:

北京市延庆区辰龙国际6号楼406室

微信公众号:

北京威三电子科技有限公司 

热线:159-2199-9232

淘宝店铺:威三科教

地址:北京市延庆区辰龙国际6号楼406


微信公众号

图片展示
北京威三电子科技有限公司 版权所有| 京ICP备2026012969号
微信公众号
客服中心
热线电话
15921999232
上班时间
周一到周五
二维码
扫码关注
客服中心
热线电话
15921999232
上班时间
周一到周五
二维码
扫码关注
添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功!
添加微信好友,详细了解产品
我知道了