Files
displaylvgl/components/header.py

67 lines
2.5 KiB
Python

import lvgl as lv
def header_create(parent, title, name):
# Создаём и инициализируем стили
if not hasattr(header_create, "style_inited"):
header_create.style_inited = True
header_create.main = lv.style_t()
header_create.main.init()
header_create.main.set_bg_color(lv.color_hex(0x191919))
header_create.main.set_border_width(2)
header_create.main.set_border_side(lv.border_side.BOTTOM)
header_create.main.set_border_color(lv.color_hex(0xff1717))
header_create.main.set_radius(0)
header_create.main.set_width(lv.pct(100))
header_create.main.set_height(105)
header_create.main.set_pad_hor(12)
header_create.main.set_layout(lv.LAYOUT_FLEX)
header_create.main.set_flex_cross_place(lv.FLEX_ALIGN.CENTER)
header_create.main.set_flex_track_place(lv.FLEX_ALIGN.CENTER)
header_create.main.set_flex_flow(lv.FLEX_FLOW.ROW)
header_create.main.set_text_color(lv.color_hex(0xffffff))
header_create.greenColor = lv.style_t()
header_create.greenColor.init()
header_create.greenColor.set_text_color(lv.color_hex(0x57f42c))
header_create.grayColor = lv.style_t()
header_create.grayColor.init()
header_create.grayColor.set_text_color(lv.color_hex(0xd5d5d5))
# Основной контейнер
lv_obj_0 = lv.obj(parent)
lv_obj_0.clear_flag(lv.obj.FLAG.SCROLLABLE)
lv_obj_0.add_style(header_create.main, 0)
# Левая колонка
column_0 = column_create(lv_obj_0)
column_0.add_style(header_create.greenColor, 0)
subtitle_0 = subtitle_create(column_0, title, "Subtitle")
subtitle_0.add_style(header_create.greenColor, 0)
subtitle_1 = subtitle_create(column_0, name, "Subtitle")
subtitle_1.add_style(header_create.grayColor, 0)
# Правая часть — время и иконка
row_0 = row_create(lv_obj_0)
row_0.set_width(lv.pct(93))
row_0.set_style_flex_main_place(lv.FLEX_ALIGN.END, 0)
row_0.set_style_text_color(lv.color_hex(0xffffff), 0)
row_0.set_style_pad_column(0, 0)
subtitle_2 = subtitle_create(row_0, "Subtitle", "Subtitle")
lv.label_bind_text(subtitle_2, hours, None)
subtitle_3 = subtitle_create(row_0, ":", "Subtitle")
subtitle_4 = subtitle_create(row_0, "Subtitle", "Subtitle")
lv.label_bind_text(subtitle_4, mins, None)
icon_0 = icon_create(row_0)
lv_obj_0.set_name("header_#")
return lv_obj_0