first commit
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.idea
|
||||||
66
components/header.py
Normal file
66
components/header.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
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
|
||||||
40
main.py
Normal file
40
main.py
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
from micropython import const # NOQA
|
||||||
|
import lcd_bus # NOQA
|
||||||
|
|
||||||
|
|
||||||
|
_WIDTH = const(480)
|
||||||
|
_HEIGHT = const(320)
|
||||||
|
|
||||||
|
bus = lcd_bus.SDLBus(flags=0)
|
||||||
|
|
||||||
|
buf1 = bus.allocate_framebuffer(_WIDTH * _HEIGHT * 3, 0)
|
||||||
|
|
||||||
|
import lvgl as lv # NOQA
|
||||||
|
import sdl_display # NOQA
|
||||||
|
|
||||||
|
|
||||||
|
display = sdl_display.SDLDisplay(
|
||||||
|
data_bus=bus,
|
||||||
|
display_width=_WIDTH,
|
||||||
|
display_height=_HEIGHT,
|
||||||
|
frame_buffer1=buf1,
|
||||||
|
color_space=lv.COLOR_FORMAT.RGB888
|
||||||
|
)
|
||||||
|
display.init()
|
||||||
|
|
||||||
|
import sdl_pointer
|
||||||
|
import task_handler
|
||||||
|
|
||||||
|
mouse = sdl_pointer.SDLPointer()
|
||||||
|
|
||||||
|
# the duration needs to be set to 5 to have a good response from the mouse.
|
||||||
|
# There is a thread that runs that facilitates double buffering.
|
||||||
|
th = task_handler.TaskHandler(duration=5)
|
||||||
|
|
||||||
|
scrn = lv.screen_active()
|
||||||
|
scrn.set_style_bg_color(lv.color_hex(0x000000), 0)
|
||||||
|
|
||||||
|
slider = lv.slider(scrn)
|
||||||
|
slider.set_size(300, 25)
|
||||||
|
slider.center()
|
||||||
|
input()
|
||||||
Reference in New Issue
Block a user