LVGL--label标签控件

本文详细介绍了如何在LVGL中创建标签控件,包括设置文本、文本样式(如背景颜色、字体大小和颜色)、处理长文本和换行。提供了解决常见问题和技巧的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习网上开源教程,随手记录,如有纰漏,希望大佬们不吝赐教。

本文是学习lvgl的标签控件记录。

学习标签部件,有以下问题

#如何创建标签部件以及设置文本?

@@知识点1: 创建标签部件

        lv_obj_t *label = lv_label_create(lv_scr_act());        //在当前屏幕创建一个标签部件

@@知识点2:设置文本的3种方式

         (1)直接设置文本,存储文本的内存来自动态分配:

               lv_label_set_text(label,"hello world!\n lvgl");

         (2),文本不存储的动态内存中,而是在指定的缓冲区中(慎用)

        !!!注意:主要是防止对内存管理不熟悉,避免内存安全等问题。

                lv_label_set_text_static(lable , "hello ");

         (3)  格式化显示文本,类似printf:

                lv_label_set_text_fmt(label , "Value: %d",50);

                                                 #如何改变文本的样式

@@知识点1:设置文本样式

背景颜色:            lv_obj_set_style_bg_color(label,lv_color_hex(0xffe1b4),LV_STATE_DEFAULT);
        lv_obj_set_style_bg_opa(label,100,LV_STATE_DEFAULT);

        /*这句是为了防止背景默认透明,导致设置背景颜色无效果*/

        //设置背景透明度为100,不透明

 字体大小:

        lv_obj_set_style_text_font(label,&lv_font_montserrat_30,LV_STATE_DEFAULT);

注意字体大小的使用,需要确认是否在lv_conf.h中置1,否则就会报错。 

文本颜色:

        lv_obj_set_style_text_color(label,lv_color_hex(0xf7b37b),LV_STATE_DEFAULT); 

@@知识点2:

设置个别文本的字体颜色(v8版本适用):

        lv_label_set_recolor(label ,true):                                /*开启重新着色功能*/

        lv_label_set_text(label1,"hello #ff0000 lvgl#");           /*单独设置颜色*/

                               #当文本长度超过部件大小的时候怎么显示?

 @@知识点1:

        默认情况下,如果没有显示标签部件的大小,那它的大小自动拓展为文本大小。

@@知识点2:

注意使用这个api,需要提前设置label控件的大小,否则默认情况1。

        lv_label_set_long_mode(label, LV_LABEL_LONG_...);

        有以下几种模式:

@@补充知识点:

在label输出的文字中怎么实现换行?

        很简单,在输出的文本中,想要换行的位置加上\n即可。

        例如:        lv_label_set_text(label,"hello world!\n lvgl");

到这里,lvgl 的label控件的知识点基本上就到此为止了。

 效果演示:

  ####创建标签部件     

####直接设置文本

####格式化显示文本

####设置背景颜色 

####设置字体大小

####设置文本颜色

####长字符多种模式显示 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值