lvgl无法创建label标签组件

正在学习lvgl,遇到一个奇怪的问题。无论如何都无法在活动屏幕上创建标签,其他组件如按钮在活动屏幕上创建没有问题,以其他组件为父对象创建标签也是可以的。百思不得其解,还请指教。

    /*label*/
    lv_obj_t *obj1 =lv_obj_create(lv_scr_act());
    lv_obj_set_size(obj1,300,50);
    lv_obj_align(obj1,LV_ALIGN_TOP_MID,0,20);
    label1 =lv_label_create(obj1);
    lv_obj_align(label1,LV_ALIGN_CENTER,0,0);
    

//    label1 =lv_label_create(lv_scr_act());
//    lv_obj_align(label1,LV_ALIGN_TOP_MID,0,20);

在obj组件上创建label显示正常

img

直接在屏幕上创建label则无法显示

img

以下内容部分参考ChatGPT模型:


根据提供的代码,直接在屏幕上创建label无法显示的原因可能是缺少样式。可以尝试添加样式并设置文字内容,如下所示:

lv_obj_t *label = lv_label_create(lv_scr_act());
lv_obj_set_style_text_font(label, LV_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_28);
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
lv_label_set_text(label, "Hello world!");

其中,lv_obj_set_style_text_font设置字体样式,lv_obj_align设置位置,lv_label_set_text设置显示的文字内容。希望能帮到你。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^