Test Event.
“Test Results: get_current_target_obj
is functioning properly. Sliding the slider works without any hanging issues, and the label accurately reflects percentage changes.”
def slider_event_cb(self, event):
ev = lv.event_t(event)
obj = ev.get_current_target_obj()
print(f"slider_event_cb: {obj} {obj.get_value()} {ev.get_code()}")
self.slider_label.set_text(f"{obj.get_value()}%")
def lv_example_slider_1(self):
style_bar = lv.style_t()
style_bar.init()
style_bar.set_bg_color(lv.color_hex(0x00FF00)) # Green color
style_bar.set_bg_grad_color(lv.color_hex(0x808080)) # Gray color
style_bar.set_radius(lv.RADIUS_CIRCLE)
style_bar.set_border_color(lv.color_hex(0xFFFFFF)) # White color
style_bar.set_bg_opa(lv.OPA._90)
self.slider = lv.slider(lv.screen_active())
self.slider.add_style(style_bar, 20)
self.slider.set_size(15, 240 - 50)
self.slider.align(lv.ALIGN.LEFT_MID, 10, 0)
self.slider.set_range(16, 28)
self.slider.add_event_cb(self.slider_event_cb, lv.EVENT.VALUE_CHANGED, None)
# Create a label below the slider
self.slider_label = lv.label(lv.screen_active())
self.slider_label.set_text("0%")
self.slider_label.align_to(self.slider, lv.ALIGN.OUT_LEFT_MID, 50, 0)