M5TabView

M5TabView 是一个可用于在用户界面中创建选项卡视图的组件。

UiFlow2 示例

标签视图基础

在 UiFlow2 中打开 tabview_cores3_example.m5f2 项目。

本示例创建了一个标签视图。

UiFlow2 代码块:

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
13tabview0 = None
14Tab1 = None
15Tab2 = None
16label1 = None
17label2 = None
18label3 = None
19
20
21def setup():
22    global page0, tabview0, Tab1, Tab2, label1, label2, label3
23
24    M5.begin()
25    Widgets.setRotation(1)
26    m5ui.init()
27    page0 = m5ui.M5Page(bg_c=0xFFFFFF)
28    tabview0 = m5ui.M5TabView(
29        x=0, y=-2, w=320, h=240, bar_size=60, bar_pos=lv.DIR.TOP, parent=page0
30    )
31    Tab1 = tabview0.add_tab("Tab1")
32    Tab2 = tabview0.add_tab("Tab2")
33    label1 = m5ui.M5Label("This is label1", x=0, y=0, parent=Tab1)
34
35    page0.screen_load()
36    label2 = m5ui.M5Label(
37        "Hello World",
38        x=0,
39        y=0,
40        text_c=0xFFCC00,
41        bg_c=0x99FF99,
42        bg_opa=255,
43        font=lv.font_montserrat_24,
44        parent=Tab1,
45    )
46    label3 = m5ui.M5Label("hello M5", x=0, y=0, parent=Tab2)
47    label3.set_style_text_font(lv.font_montserrat_24, lv.PART.MAIN | lv.STATE.DEFAULT)
48    label3.set_text_color(0x6600CC, 255, 0)
49    label3.set_bg_color(0x33FF33, 255, 0)
50
51
52def loop():
53    global page0, tabview0, Tab1, Tab2, label1, label2, label3
54    M5.update()
55
56
57if __name__ == "__main__":
58    try:
59        setup()
60        while True:
61            loop()
62    except (Exception, KeyboardInterrupt) as e:
63        try:
64            m5ui.deinit()
65            from utility import print_error_msg
66
67            print_error_msg(e)
68        except ImportError:
69            print("please update to latest firmware")

示例输出:

None

API参考

M5TabView

class m5ui.tabview.M5TabView(*args, **kwargs)

基类:tabview

创建一个标签页视图对象。

参数:
  • x (int) – 标签视图的 x 坐标位置。

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

  • w (int) – 标签视图的宽度。

  • h (int) – 标签视图的高度。

  • bar_size (int) – 标签栏的大小。

  • bar_pos (int) – 标签栏的位置。

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

UiFlow2 代码块:

None

MicroPython 代码块:

from m5ui import M5Label
import lvgl as lv

m5ui.init()
tabview0 = m5ui.M5TabView(x=0, y=-2, w=320, h=240, bar_size=60, bar_pos=lv.DIR.TOP, parent=page0)
add_tab(text)

向标签视图添加一个标签页。

参数:

text (str) – 标签页上要显示的文本。

返回类型:

lv.obj

UiFlow2 代码块:

add_tab.png

MicroPython 代码块:

Tab1 = tabview0.add_tab("Tab1")
Tab2 = tabview0.add_tab("Tab2")
rename_tab(pos, txt)

重命名标签视图中的标签。

参数:
  • pos (int) – 要重命名的标签页位置。

  • txt (str) – 标签页的新文本。

返回类型:

None

UiFlow2 代码块:

rename_tab.png

MicroPython 代码块:

tabview0.rename_tab(0, 'hello M5')

M5Label 可以在 TabView 中使用。具体用法请参考 m5ui.M5Label 文档。