67 lines
2.5 KiB
Python
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
|