@@ -1,25 +0,0 @@
|
||||
class Event_1():
|
||||
def __init__(self):
|
||||
self.cnt = 1
|
||||
#
|
||||
# Add click event to a button
|
||||
#
|
||||
|
||||
button = lv.button(lv.screen_active())
|
||||
button.set_size(100, 50)
|
||||
button.center()
|
||||
button.add_event_cb(self.event_cb, lv.EVENT.CLICKED, None)
|
||||
|
||||
label = lv.label(button)
|
||||
label.set_text("Click me!")
|
||||
label.center()
|
||||
|
||||
def event_cb(self,e):
|
||||
print("Clicked")
|
||||
|
||||
button = e.get_target_obj()
|
||||
label = button.get_child(0)
|
||||
label.set_text(str(self.cnt))
|
||||
self.cnt += 1
|
||||
|
||||
evt1 = Event_1()
|
||||
@@ -1,22 +0,0 @@
|
||||
def event_cb(e,label):
|
||||
code = e.get_code()
|
||||
if code == lv.EVENT.PRESSED:
|
||||
label.set_text("The last button event:\nLV_EVENT_PRESSED")
|
||||
elif code == lv.EVENT.CLICKED:
|
||||
label.set_text("The last button event:\nLV_EVENT_CLICKED")
|
||||
elif code == lv.EVENT.LONG_PRESSED:
|
||||
label.set_text("The last button event:\nLV_EVENT_LONG_PRESSED")
|
||||
elif code == lv.EVENT.LONG_PRESSED_REPEAT:
|
||||
label.set_text("The last button event:\nLV_EVENT_LONG_PRESSED_REPEAT")
|
||||
button = lv.button(lv.screen_active())
|
||||
button.set_size(100, 50)
|
||||
button.center()
|
||||
|
||||
button_label = lv.label(button)
|
||||
button_label.set_text("Click me!")
|
||||
button_label.center()
|
||||
|
||||
info_label = lv.label(lv.screen_active())
|
||||
info_label.set_text("The last button event:\nNone")
|
||||
|
||||
button.add_event_cb(lambda e: event_cb(e,info_label), lv.EVENT.ALL, None)
|
||||
@@ -1,34 +0,0 @@
|
||||
def event_cb(e):
|
||||
|
||||
# The original target of the event. Can be the buttons or the container
|
||||
target = e.get_target_obj()
|
||||
|
||||
# The current target is always the container as the event is added to it
|
||||
cont = e.get_current_target_obj()
|
||||
|
||||
# If container was clicked do nothing
|
||||
if target == cont:
|
||||
return
|
||||
|
||||
# Make the clicked buttons red
|
||||
target.set_style_bg_color(lv.palette_main(lv.PALETTE.RED), 0)
|
||||
|
||||
#
|
||||
# Demonstrate event bubbling
|
||||
#
|
||||
|
||||
cont = lv.obj(lv.screen_active())
|
||||
cont.set_size(290, 200)
|
||||
cont.center()
|
||||
cont.set_flex_flow(lv.FLEX_FLOW.ROW_WRAP)
|
||||
|
||||
for i in range(30):
|
||||
button = lv.button(cont)
|
||||
button.set_size(70, 50)
|
||||
button.add_flag(lv.obj.FLAG.EVENT_BUBBLE)
|
||||
|
||||
label = lv.label(button)
|
||||
label.set_text("{:d}".format(i))
|
||||
label.center()
|
||||
|
||||
cont.add_event_cb(event_cb, lv.EVENT.CLICKED, None)
|
||||
@@ -1,53 +0,0 @@
|
||||
class LV_Example_Event_4:
|
||||
|
||||
def __init__(self):
|
||||
#
|
||||
# Demonstrate the usage of draw event
|
||||
#
|
||||
self.size = 0
|
||||
self.size_dec = False
|
||||
self.cont = lv.obj(lv.screen_active())
|
||||
self.cont.set_size(200, 200)
|
||||
self.cont.center()
|
||||
self.cont.add_event_cb(self.event_cb, lv.EVENT.DRAW_TASK_ADDED, None)
|
||||
self.cont.add_flag(lv.obj.FLAG.SEND_DRAW_TASK_EVENTS)
|
||||
lv.timer_create(self.timer_cb, 30, None)
|
||||
|
||||
def timer_cb(self,timer) :
|
||||
self.cont.invalidate()
|
||||
if self.size_dec :
|
||||
self.size -= 1
|
||||
else :
|
||||
self.size += 1
|
||||
|
||||
if self.size == 50 :
|
||||
self.size_dec = True
|
||||
elif self.size == 0:
|
||||
self.size_dec = False
|
||||
|
||||
def event_cb(self,e) :
|
||||
obj = e.get_target_obj()
|
||||
dsc = e.get_draw_task()
|
||||
base_dsc = lv.draw_dsc_base_t.__cast__(dsc.draw_dsc)
|
||||
if base_dsc.part == lv.PART.MAIN:
|
||||
a = lv.area_t()
|
||||
a.x1 = 0
|
||||
a.y1 = 0
|
||||
a.x2 = self.size
|
||||
a.y2 = self.size
|
||||
coords = lv.area_t()
|
||||
obj.get_coords(coords)
|
||||
coords.align(a, lv.ALIGN.CENTER, 0, 0)
|
||||
|
||||
draw_dsc = lv.draw_rect_dsc_t()
|
||||
draw_dsc.init()
|
||||
draw_dsc.bg_color = lv.color_hex(0xffaaaa)
|
||||
draw_dsc.radius = lv.RADIUS_CIRCLE
|
||||
draw_dsc.border_color = lv.color_hex(0xff5555)
|
||||
draw_dsc.border_width = 2
|
||||
draw_dsc.outline_color = lv.color_hex(0xff0000)
|
||||
draw_dsc.outline_pad = 3
|
||||
draw_dsc.outline_width = 2
|
||||
lv.draw_rect(base_dsc.layer, draw_dsc, a)
|
||||
|
||||
lv_example_event_4 = LV_Example_Event_4()
|
||||
Reference in New Issue
Block a user