“””M5Label”””

M5Label 是一个可用于在用户界面中创建标签的小部件。它可以显示文本,并可以使用不同的字体、颜色和大小进行样式设置。

UiFlow2 应用示例

滚动标签

在 UiFlow2 中打开 cores3_scroll_label_example.m5f2 项目。

此示例演示如何创建以循环方式滚动文本的标签。

UiFlow2 代码块:

cores3_scroll_label_example.png

示例输出:

None

MicroPython 应用示例

滚动标签

此示例演示如何创建以循环方式滚动文本的标签。

MicroPython 代码块:

 1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8import m5ui
 9import lvgl as lv
10
11
12page0 = None
13label0 = None
14
15
16def setup():
17    global page0, label0
18
19    M5.begin()
20    m5ui.init()
21    page0 = m5ui.M5Screen(bg_c=0xFFFFFF)
22    label0 = m5ui.M5Label(
23        "It is a circularly scrolling text. ",
24        x=60,
25        y=110,
26        text_c=0x000000,
27        bg_c=0xFFFFFF,
28        bg_opa=0,
29        font=lv.font_montserrat_14,
30        parent=page0,
31    )
32
33    page0.screen_load()
34    label0.set_long_mode(lv.label.LONG_MODE.SCROLL_CIRCULAR)
35    label0.set_width(150)
36    label0.align_to(page0, lv.ALIGN.CENTER, 0, 0)
37
38
39def loop():
40    global page0, label0
41    M5.update()
42
43
44if __name__ == "__main__":
45    try:
46        setup()
47        while True:
48            loop()
49    except (Exception, KeyboardInterrupt) as e:
50        try:
51            m5ui.deinit()
52            from utility import print_error_msg
53
54            print_error_msg(e)
55        except ImportError:
56            print("please update to latest firmware")

示例输出:

None

API参考

“””M5Label”””

class m5ui.label.M5Label(*args, **kwargs)

基类:label

创建标签对象。

参数:
  • text (str) – 标签上显示的文本。

  • x (int) – 标签的 x 位置。

  • y (int) – 标签的 y 位置。

  • text_c (int) – 标签的文本颜色(十六进制格式)。

  • bg_c (int) – 标签的背景颜色(十六进制格式)。

  • bg_opa (int) – 标签的背景不透明度(0-255)。

  • font (lv.lv_font_t) – 按钮文本使用的字体。

  • parent (lv.obj) – 按钮要附加到的父对象。如果未指定,按钮将附加到默认屏幕。

UiFlow2 代码块:

None

MicroPython 代码块:

from m5ui import M5Label
import lvgl as lv

m5ui.init()
label_0 = M5Label(text="Hello, World!", x=10, y=10, text_c=0x212121, bg_c=0xFFFFFF, bg_opa=0, font=lv.font_montserrat_14, parent=page0)
set_flag(flag, value)

在对象上设置一个标志。如果 value 为 True,则添加该标志;如果为 False,则移除该标志。

参数:
  • flag (int) – 要设置的标志。

  • value (bool) – 如果为 True,则添加标志;如果为 False,则删除标志。

返回:

None

UiFlow2 代码块:

set_flag.png

MicroPython 代码块:

label_0.set_flag(lv.obj.FLAG.HIDDEN, True)
toggle_flag(flag)

切换对象上的标志。如果设置了标志,则移除该标志;如果未设置,则添加该标志。

参数:

flag (int) – 要切换的标志。

返回:

None

UiFlow2 代码块:

toggle_flag.png

MicroPython 代码块:

label_0.toggle_flag(lv.obj.FLAG.HIDDEN)
set_state(state, value)

设置标签的状态。如果 value 为 True,则设置状态;如果为 False,则取消设置状态。

参数:
  • state (int) – 要设置的状态。

  • value (bool) – 如果为 True,则状态已设置;如果为 False,则状态未设置。

返回:

None

UiFlow2 代码块:

set_state.png

MicroPython 代码块:

label_0.set_state(lv.STATE.PRESSED, True)
toggle_state(state)

切换标签的状态。如果标签状态已设置,则取消设置;如果标签状态未设置,则设置标签状态。

参数:

state (int) – 要切换的状态。

返回:

None

UiFlow2 代码块:

toggle_state.png

MicroPython 代码块:

label_0.toggle_state(lv.STATE.PRESSED)
set_style_text_font(font, part)

设置标签文本的字体。

参数:
  • font (lv.lv_font_t) – 要设置的字体。

  • part (int) – 应用样式的对象部分(例如,lv.PART.MAIN)。

返回:

None

UiFlow2 代码块:

set_style_text_font.png

MicroPython 代码块:

label_0.set_style_text_font(lv.font_montserrat_14, lv.PART.MAIN | lv.STATE.DEFAULT)
set_text_color(color, opa, part)

设置文本的颜色。

参数:
  • color (int) – 要设置的颜色。

  • opa (int) – 颜色的不透明度。

  • part (int) – 应用样式的对象部分(例如,lv.PART.MAIN)。

返回:

None

UiFlow2 代码块:

set_text_color.png

MicroPython 代码块:

label_0.set_text_color(lv.color_hex(0x000000), 255, lv.PART.MAIN | lv.STATE.DEFAULT)
set_bg_color(color, opa, part)

设置标签的背景颜色。

参数:
  • color (int) – 要设置的颜色。

  • opa (int) – 颜色的不透明度。

  • part (int) – 应用样式的对象部分(例如,lv.PART.MAIN)。

返回:

None

UiFlow2 代码块:

set_text_color.png

MicroPython 代码块:

label_0.set_bg_color(lv.color_hex(0x000000), 255, lv.PART.MAIN | lv.STATE.DEFAULT)
set_pos(x, y)

设置标签的位置。

参数:
  • x (int) – 标签的 x 坐标。

  • y (int) – 标签的 y 坐标。

返回:

None

UiFlow2 代码块:

set_pos.png

MicroPython 代码块:

label_0.set_pos(100, 100)
set_x(x)

设置标签的 x 坐标。

参数:

x (int) – 标签的 x 坐标。

返回:

None

UiFlow2 代码块:

set_x.png

MicroPython 代码块:

label_0.set_x(100)
set_y(y)

设置标签的 y 坐标。

参数:

y (int) – 标签的 y 坐标。

返回:

None

UiFlow2 代码块:

set_y.png

MicroPython 代码块:

label_0.set_y(100)
set_size(width, height)

设置标签的大小。

参数:
  • width (int) – 标签的宽度。

  • height (int) – 标签的高度。

返回:

None

UiFlow2 代码块:

set_size.png

MicroPython 代码块:

label_0.set_size(100, 50)
set_width(width)

设置标签的宽度。

参数:

width (int) – 标签的宽度。

返回:

None

UiFlow2 代码块:

set_width.png

set_width1.png

MicroPython 代码块:

label_0.set_width(100)
align_to(obj, align, x, y)

将标签与另一个对象对齐。

参数:
  • obj (lv.obj) – 要对齐的对象。

  • align (int) – 对齐类型。

  • x (int) – 与对齐对象的 x 偏移量。

  • y (int) – 与对齐对象的 y 偏移。

返回:

None

UiFlow2 代码块:

align_to.png

MicroPython 代码块:

label_0.align_to(page_0, lv.ALIGN.CENTER, 0, 0)
set_shadow(color, opa, align, offset_x, offset_y)

为标签设置阴影。

参数:
  • color (int) – 阴影的颜色(十六进制格式或整数)。

  • opa (int) – 阴影的不透明度(0-255)。

  • align (int) – 阴影相对于标签的对齐方式。

  • offset_x (int) – 阴影的水平偏移。

  • offset_y (int) – 阴影的垂直偏移。

返回:

None

返回类型:

None

UiFlow2 代码块:

set_shadow.png

MicroPython 代码块:

label_0.set_shadow(color=0x000000, opa=128, align=lv.ALIGN.BOTTOM_RIGHT, offset_x=5, offset_y=5)
unset_shadow()

删除标签上的阴影。

UiFlow2 代码块:

unset_shadow.png

MicroPython 代码块:

label_0.unset_shadow()
返回类型:

None