From: p15692025051 <846603105@qq.com> Date: Tue, 25 Apr 2023 08:13:44 +0000 (+0800) Subject: ui死机问题处理 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=ec5a01b8d2cd9febfc99257206a487204a7db073;p=mirrors%2FASR1603_G5.git ui死机问题处理 --- diff --git a/3.code/1.watch/2.code/appAlipay.py b/3.code/1.watch/2.code/appAlipay.py index a090a930..5cef4d28 100644 --- a/3.code/1.watch/2.code/appAlipay.py +++ b/3.code/1.watch/2.code/appAlipay.py @@ -56,7 +56,8 @@ class Alipay(Abstract): self.ps_aliyun = "TxPFIJ5F1kwa0zO3" self.product_type = 0 self.timer_Alipay = osTimer() - self.alipay = None + + self.is_simcard_identify = 255 self.is_init = 255 self.upay_bound = 0 #绑定结果 @@ -64,33 +65,37 @@ class Alipay(Abstract): #self.alipay = ALIPAY("867387060319491", "898604293619F0549750","460044917509047", "123456", "P1Q22I80C0007530P","ZHIHUISHIXUN", "ZHIHUISHIXUN", "EC800M", "uHTfYqOlGlA" , "a15PcyZ3IHA", "kOGGPhtXAg1Lz1vg",0) self.alipay.register_print() self.alipay.set_log_limit(0) - self.timer_Alipay.start(10000, 1, self.timeout_Alipay) + if self.is_init != 0: + id2_st = bytearray([0]) + id2_ret = self.alipay.id2_init() + #print("id2_ret:%d"%id2_ret) + self.alipay.id2_check_status(id2_st) + #print("id2_st:",str(id2_st)) + if id2_st[0] == 1: + self.is_init = self.alipay.pay_init(90000, 90000,\ + 2000, 2000, \ + 200, 40*1024, \ + self.upay_display_notify_cb, 0) + #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0) + print("self.is_pay_init:%d"%self.is_init) + if self.is_init == 0 : + self.alipay.enable_collectioncode(1) + self.timer_Alipay.start(20000, 1, self.timeout_Alipay) def post_processor_after_instantiation(self): + print("post_processor_after_instantiation") + + EventMesh.subscribe("alipay_1", self.alipay_1) - EventMesh.subscribe("reset_alipay", self.reset_alipay) EventMesh.subscribe("get_payment_code", self.get_payment_code) EventMesh.subscribe("get_collect_code", self.get_collect_code) EventMesh.subscribe("get_parent_code", self.get_parent_code) EventMesh.subscribe("get_alipay_init", self.get_alipay_init) - if self.is_init != 0: - id2_st = bytearray([0]) - id2_ret = self.alipay.id2_init() - print("id2_ret:%d"%id2_ret) - self.alipay.id2_check_status(id2_st) - print("id2_st:",str(id2_st)) - - self.is_init = self.alipay.pay_init(90000, 90000,\ - 2000, 2000, \ - 200, 40*1024, \ - self.upay_display_notify_cb, 0) - #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0) - print("self.is_pay_init:%d\n\n\n"%self.is_init) - + EventMesh.subscribe("alipay_exit", self.alipay_exit) + def timeout_Alipay(self, *args, **kwargs): - #print("timeout_Alipay1:counect:{} init:{}".format(EventMesh.publish(constants.EVENT.GET_CONNECT),self.is_init)) + #print("timeout_Alipay1:{}".format(EventMesh.publish(constants.EVENT.GET_CONNECT))) time = utime.localtime() - if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1 and self.alipay != None and (self.is_simcard_identify != 0 or time[3] == 0 or time[3] == 12): #if self.alipay != None and (self.is_simcard_identify != 0 or time[3] == 0 or time[3] == 12): @@ -98,22 +103,23 @@ class Alipay(Abstract): print("is_simcard_identify:%d"%self.is_simcard_identify) #if self.is_simcard_identify == 0 and EventMesh.publish(constants.EVENT.GET_CONNECT) == 1 and self.is_init != 0: - if self.is_init != 0: + if self.is_init != 0: id2_st = bytearray([0]) id2_ret = self.alipay.id2_init() - print("id2_ret:%d"%id2_ret) + #print("id2_ret:%d"%id2_ret) self.alipay.id2_check_status(id2_st) - print("id2_st:",str(id2_st)) - - self.is_init = self.alipay.pay_init(90000, 90000,\ - 2000, 2000, \ - 200, 40*1024, \ - self.upay_display_notify_cb, 0) - #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0) - print("self.is_pay_init:%d\n\n\n"%self.is_init) - if self.is_init == 0 : - self.alipay.enable_collectioncode(1) - + #print("id2_st:",str(id2_st)) + if id2_st[0] == 1: + self.is_init = self.alipay.pay_init(90000, 90000,\ + 2000, 2000, \ + 200, 40*1024, \ + self.upay_display_notify_cb, 0) + #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0) + + if self.is_init == 0 : + self.alipay.enable_collectioncode(1) + print("self.is_pay_init:%d"%self.is_init) + def upay_display_notify_cb(self,arg): #print("upay_display_notify_cb!!!!!!!!!!!!!!!!!!!!") cmd = arg[0] @@ -255,13 +261,7 @@ class Alipay(Abstract): elif rsp_code == 44: # 服务端已解绑 print("upay_display_notify_cb: not bind !\n") - - - - def reset_alipay(self, event, msg): - print("reset_alipay") - self.alipay.hw_factory_reset() - + def get_binding_code(self, event, msg): return self.result @@ -282,18 +282,21 @@ class Alipay(Abstract): args = "" userdata = "" ret = self.alipay.msg_send(8,args,userdata) - def get_alipay_init(self, event, msg): return self.is_init - + + def alipay_exit(self, event, msg): + if self.is_init == 0 : + args = "" + userdata = "" + ret = self.alipay.msg_send(11,args,userdata) #发送退出程序命令 + print("alipay_exit") + def alipay_1(self, event, msg): - - #本地判断是否绑定 check_bind = self.alipay.check_bind_status() check_bind_online = self.alipay.check_bind_status() print("check_bind:{} check_bind_online:{}".format(check_bind,check_bind_online)) - if check_bind == 4: #已绑定 EventMesh.publish("load_screen", {"screen": "alipay_1_1"}) # if self.is_init == 0 : @@ -302,14 +305,17 @@ class Alipay(Abstract): # ret = self.alipay.msg_send(3,args,userdata) #发送获取付款码消息 # ret = self.alipay.msg_send(5,args,userdata) #发送获取收款码消息 elif check_bind == 5: #未绑定 - args = "" - userdata = "" - # print("--000--") - ret = self.alipay.msg_send(1,args,userdata) #发送获取绑定码消息,在回调函数里打开界面 - print("alipay_1 send msg:HELIOS_PAY_MSG_GET_BIND_CODE:{}".format(ret)) + #EventMesh.publish("load_screen", {"screen": "alipay_invite"}) + if self.is_init == 0 : + args = "" + userdata = "" + print("--000--") + ret = self.alipay.msg_send(1,args,userdata) #发送获取绑定码消息 + print("alipay_1 send msg:HELIOS_PAY_MSG_GET_BIND_CODE:{}".format(ret)) else : print("check bind error!!!") + style_alipay_screen_default = lv.style_t() style_alipay_screen_default.init() style_alipay_screen_default.set_radius(0) @@ -327,52 +333,47 @@ style_alipay_img_default.set_img_opa(255) style_alipay_img_default.set_img_recolor_opa(0) style_alipay_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff)) +alipay_open_screen = lv.obj() +alipay_open_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_open_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#进入图片 +AlipayOpen_img = lv.img(alipay_open_screen) +AlipayOpen_img.set_pos(int(70),int(80)) +AlipayOpen_img.set_size(100,100) +AlipayOpen_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +AlipayOpen_img.add_flag(lv.obj.FLAG.CLICKABLE) +AlipayOpen_img.set_src("E:/static/APP/alipay/1.jpg") +AlipayOpen_img.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) class AlipayOpenScreen(Screen): NAME = "alipay_open" #打开支付宝 def __init__(self): super().__init__() - self.meta = None - self.timer_alipay_open = osTimer() + self.meta = alipay_open_screen + self.timer_AlipayOpen = osTimer() def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #进入图片 - self.watchface_mpsignal_img = lv.img(self.meta) - self.watchface_mpsignal_img.set_pos(int(70),int(80)) - self.watchface_mpsignal_img.set_size(100,100) - self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_mpsignal_img.set_src("E:/static/APP/alipay/1.jpg") - self.watchface_mpsignal_img.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - - def post_processor_after_initialization(self): - print("----init----") - self.timer_alipay_open.start(1000, 1, self.timeout_alipay_open) - # for i in range(120): - # if EventMesh.publish("get_alipay_init") == 1: - # - # break - # utime.sleep_ms(500) - - def timeout_alipay_open(self, *args, **kwargs): + print("AlipayOpenScreen:initialization") + self.timer_AlipayOpen.start(1000, 1, self.timeout_AlipayOpen) + pass + + def timeout_AlipayOpen(self, *args, **kwargs): if EventMesh.publish("get_alipay_init") == 0: EventMesh.publish("alipay_1") - self.timer_alipay_open.stop() + self.timer_AlipayOpen.stop() + def post_processor_after_initialization(self): + pass def done_return(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) def Close(self): - self.timer_alipay_open.stop() - self.meta.delete() - self.meta = None + self.timer_AlipayOpen.stop() + EventMesh.publish("alipay_exit") + + pass def btn1_release(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) @@ -380,66 +381,60 @@ class AlipayOpenScreen(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) +alipay_1_1_screen = lv.obj() +alipay_1_1_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_1_1_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) +#付款码 +alipay_imgbtn_3 = lv.img(alipay_1_1_screen) +alipay_imgbtn_3.set_pos(8,10) +alipay_imgbtn_3.set_size(224,69) +alipay_imgbtn_3.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +alipay_imgbtn_3.add_flag(lv.obj.FLAG.CLICKABLE) +alipay_imgbtn_3.set_src("E:/static/APP/alipay/1_13.png") +alipay_imgbtn_3.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) +#收钱 +alipay_imgbtn_2 = lv.img(alipay_1_1_screen) +alipay_imgbtn_2.set_pos(8,86) +alipay_imgbtn_2.set_size(224,69) +alipay_imgbtn_2.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +alipay_imgbtn_2.add_flag(lv.obj.FLAG.CLICKABLE) +alipay_imgbtn_2.set_src("E:/static/APP/alipay/1_12.png") +alipay_imgbtn_2.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) +#家长设置 +alipay_imgbtn_1 = lv.img(alipay_1_1_screen) +alipay_imgbtn_1.set_pos(8,168) +alipay_imgbtn_1.set_size(224,69) +alipay_imgbtn_1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +alipay_imgbtn_1.add_flag(lv.obj.FLAG.CLICKABLE) +alipay_imgbtn_1.set_src("E:/static/APP/alipay/1_11.png") +alipay_imgbtn_1.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + class Alipay_1_1(Screen): NAME = "alipay_1_1" #已绑定,显示功能列表 def __init__(self): super().__init__() - self.meta = None + self.meta = alipay_1_1_screen + #付款码 + alipay_imgbtn_3.add_event_cb(lambda e: self.alipay_paycode(e), + lv.EVENT.PRESSED, None) + #收钱 + alipay_imgbtn_2.add_event_cb(lambda e: self.alipay_collect(e), + lv.EVENT.PRESSED, None) + #家长设置 + alipay_imgbtn_1.add_event_cb(lambda e: self.alipay_parent(e), + lv.EVENT.PRESSED, None) - def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #付款码 - self.alipay_imgbtn_3 = lv.img(self.meta) - self.alipay_imgbtn_3.set_pos(8,10) - self.alipay_imgbtn_3.set_size(224,69) - self.alipay_imgbtn_3.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.alipay_imgbtn_3.add_flag(lv.obj.FLAG.CLICKABLE) - self.alipay_imgbtn_3.set_src("E:/static/APP/alipay/1_13.png") - self.alipay_imgbtn_3.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - self.alipay_imgbtn_3.add_event_cb(lambda e: self.alipay_paycode(e), - lv.EVENT.PRESSED, None) - - - #收钱 - self.alipay_imgbtn_2 = lv.img(self.meta) - self.alipay_imgbtn_2.set_pos(8,86) - self.alipay_imgbtn_2.set_size(224,69) - self.alipay_imgbtn_2.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.alipay_imgbtn_2.add_flag(lv.obj.FLAG.CLICKABLE) - self.alipay_imgbtn_2.set_src("E:/static/APP/alipay/1_12.png") - self.alipay_imgbtn_2.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - self.alipay_imgbtn_2.add_event_cb(lambda e: self.alipay_collect(e), - lv.EVENT.PRESSED, None) - - - #家长设置 - self.alipay_imgbtn_1 = lv.img(self.meta) - self.alipay_imgbtn_1.set_pos(8,168) - self.alipay_imgbtn_1.set_size(224,69) - self.alipay_imgbtn_1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.alipay_imgbtn_1.add_flag(lv.obj.FLAG.CLICKABLE) - self.alipay_imgbtn_1.set_src("E:/static/APP/alipay/1_11.png") - self.alipay_imgbtn_1.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - self.alipay_imgbtn_1.add_event_cb(lambda e: self.alipay_parent(e), - lv.EVENT.PRESSED, None) - - def post_processor_after_initialization(self): pass def Close(self): - self.meta.delete() - self.meta = None + EventMesh.publish("alipay_exit") + pass def alipay_paycode(self,e): # Alipay.alipay.msg_send(3,"","") #发送获取付款码消息 - EventMesh.publish("get_payment_code") def alipay_collect(self,e): @@ -458,61 +453,58 @@ class Alipay_1_1(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) +alipay_invite_screen = lv.obj() +alipay_invite_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_invite_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#背景 +alipay_invite_bg = lv.img(alipay_invite_screen) +alipay_invite_bg.center() +alipay_invite_bg.set_size(240,240) +alipay_invite_bg.set_src("E:/static/APP/alipay/1_2.jpg") +alipay_invite_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#提示词 +alipay_invite_label = lv.label(alipay_invite_bg) +alipay_invite_label.set_pos(6, 8) +alipay_invite_label.set_size(228, 48) +alipay_invite_label.set_long_mode(lv.label.LONG.WRAP) +alipay_invite_label.set_text("请家长用手机支付宝扫一扫") +alipay_invite_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_invite_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +#二维码 +alipay_invite_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) +alipay_invite_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) + +alipay_invite_alipay_qr = lv.qrcode(alipay_invite_bg, 150, alipay_invite_fg_color, alipay_invite_bg_color) +alipay_invite_alipay_qr.set_pos(41,67) +# Add a border with alipay_invite_bg_color +alipay_invite_alipay_qr.set_style_border_color(alipay_invite_bg_color, 0) +alipay_invite_alipay_qr.set_style_border_width(5, 0) class Alipay_invite(Screen): NAME = "alipay_invite" #未绑定,获取二维码显示 def __init__(self): super().__init__() - self.meta = None - - - + self.meta = alipay_invite_screen + def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #背景 - self.bg = lv.img(self.meta) - self.bg.center() - self.bg.set_size(240,240) - self.bg.set_src("E:/static/APP/alipay/1_2.jpg") - self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #提示词 - self.label = lv.label(self.bg) - self.label.set_pos(6, 8) - self.label.set_size(228, 48) - self.label.set_long_mode(lv.label.LONG.WRAP) - self.label.set_text("请家长用手机支付宝扫一扫") - self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - #二维码 - self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) - self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) - - self.alipay_qr = lv.qrcode(self.bg, 150, self.fg_color, self.bg_color) - self.alipay_qr.set_pos(41,67) - # Add a border with bg_color - self.alipay_qr.set_style_border_color(self.bg_color, 0) - self.alipay_qr.set_style_border_width(5, 0) + pass def post_processor_after_initialization(self): # 二维码数据 self.alipay_qr_data = str(self.meta_info) print("alipay_invite:",str(self.meta_info)) - self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) + alipay_invite_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) - def Close(self): - self.meta.delete() - self.meta = None + EventMesh.publish("alipay_exit") + pass def done_return(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) + EventMesh.publish("load_screen", {"screen": "main_menu"}) def btn1_release(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) @@ -520,83 +512,85 @@ class Alipay_invite(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) +alipay_inviting_screen = lv.obj() +alipay_inviting_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_inviting_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#提示词 +alipay_inviting_label = lv.label(alipay_inviting_screen) +alipay_inviting_label.set_pos(30, 158) +alipay_inviting_label.set_size(180, 24) +alipay_inviting_label.set_long_mode(lv.label.LONG.WRAP) +alipay_inviting_label.set_text("绑定中,不要走开") +alipay_inviting_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_inviting_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) class Alipay_inviting(Screen): NAME = "alipay_inviting" def __init__(self): super().__init__() - self.meta = None - - + self.meta = alipay_inviting_screen + def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #提示词 - self.label = lv.label(self.meta) - self.label.set_pos(30, 158) - self.label.set_size(180, 24) - self.label.set_long_mode(lv.label.LONG.WRAP) - self.label.set_text("绑定中,不要走开") - self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + pass def post_processor_after_initialization(self): pass def Close(self): - self.meta.delete() - self.meta = None - - - + EventMesh.publish("alipay_exit") + pass + def btn1_release(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) +alipay_success_screen = lv.obj() +alipay_success_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_success_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#背景 +alipay_success_bg = lv.img(alipay_success_screen) +alipay_success_bg.set_pos(56,30) +alipay_success_bg.set_size(128,127) +alipay_success_bg.set_src("E:/static/APP/alipay/1_2_1.png") +alipay_success_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#提示词 +alipay_success_label = lv.label(alipay_success_screen) +alipay_success_label.set_pos(68, 168) +alipay_success_label.set_size(104, 29) +alipay_success_label.set_long_mode(lv.label.LONG.WRAP) +alipay_success_label.set_text("绑定成功") +alipay_success_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_success_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) class Alipay_success(Screen): NAME = "alipay_success" def __init__(self): super().__init__() - self.meta = None + self.meta = alipay_success_screen + self.timer_Alipay_success = osTimer() - def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #背景 - self.bg = lv.img(self.meta) - self.bg.set_pos(56,30) - self.bg.set_size(128,127) - self.bg.set_src("E:/static/APP/alipay/1_2_1.png") - self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #提示词 - self.label = lv.label(self.meta) - self.label.set_pos(68, 168) - self.label.set_size(104, 29) - self.label.set_long_mode(lv.label.LONG.WRAP) - self.label.set_text("绑定成功") - self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + self.timer_Alipay_success.start(1000, 0, self.timeout_Alipay_success) + pass def post_processor_after_initialization(self): pass + def timeout_AlipayOpen(self, *args, **kwargs): + EventMesh.publish("load_screen", {"screen": "alipay_1_1"}) + self.timer_AlipayOpen.stop() + def Close(self): - self.meta.delete() - self.meta = None + EventMesh.publish("alipay_exit") + pass def btn1_release(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) @@ -604,88 +598,81 @@ class Alipay_success(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) +alipay_paycode_screen = lv.obj() +alipay_paycode_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_paycode_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +alipay_paycode = lv.tileview(alipay_paycode_screen) +alipay_paycode.center() +alipay_paycode.set_size(240, 320) +alipay_paycode.add_style(style_alipay_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +# 1 - 条形码界面 +alipay_barcode = alipay_paycode.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + +#椭圆背景 +alipay_paycode_cont = lv.obj(alipay_barcode) +alipay_paycode_cont.set_size(240,220) +alipay_paycode_cont.set_pos(0,21) +alipay_paycode_cont.add_style(style_cont_alipay, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#提示词 +alipay_paycode_label = lv.label(alipay_barcode) +alipay_paycode_label.set_pos(10, 33) +alipay_paycode_label.set_size(220, 24) +alipay_paycode_label.set_long_mode(lv.label.LONG.WRAP) +alipay_paycode_label.set_text("收银员扫一扫,完成付款") +alipay_paycode_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_paycode_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#条形码 +alipay_paycode_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) +alipay_paycode_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) +alipay_bar = lv.qrcode(alipay_barcode, 150, alipay_paycode_fg_color, alipay_paycode_bg_color) +alipay_bar.set_pos(33,61) +alipay_bar.set_style_border_color(alipay_paycode_bg_color, 0) +alipay_bar.set_style_border_width(5, 0) + +#编号 + +# 2 - 二维码界面 +alipay_qrcode = alipay_paycode.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + +#白色背景 + +#提示词 +alipay_paycode_label1 = lv.label(alipay_qrcode) +alipay_paycode_label1.set_pos(10, 33) +alipay_paycode_label1.set_size(220, 24) +alipay_paycode_label1.set_long_mode(lv.label.LONG.WRAP) +alipay_paycode_label1.set_text("收银员扫一扫,完成付款") +alipay_paycode_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_paycode_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +#二维码 + +alipay_paycode_alipay_qr = lv.qrcode(alipay_qrcode, 150, alipay_paycode_fg_color, alipay_paycode_bg_color) +alipay_paycode_alipay_qr.set_pos(33,61) +alipay_paycode_alipay_qr.set_style_border_color(alipay_paycode_bg_color, 0) +alipay_paycode_alipay_qr.set_style_border_width(5, 0) class Alipay_paycode(Screen): NAME = "alipay_paycode" def __init__(self): super().__init__() - self.meta = None - + self.meta = alipay_paycode_screen - def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.alipay_paycode = lv.tileview(self.meta) - self.alipay_paycode.center() - self.alipay_paycode.set_size(240, 320) - self.alipay_paycode.add_style(style_alipay_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - # 1 - 条形码界面 - self.alipay_barcode = self.alipay_paycode.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - - #椭圆背景 - self.cont = lv.obj(self.alipay_barcode) - self.cont.set_size(240,220) - self.cont.set_pos(0,21) - self.cont.add_style(style_cont_alipay, lv.PART.MAIN | lv.STATE.DEFAULT) - - - #提示词 - self.label = lv.label(self.alipay_barcode) - self.label.set_pos(10, 33) - self.label.set_size(220, 24) - self.label.set_long_mode(lv.label.LONG.WRAP) - self.label.set_text("收银员扫一扫,完成付款") - self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - - #条形码 - self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) - self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) - self.alipay_bar = lv.qrcode(self.alipay_barcode, 150, self.fg_color, self.bg_color) - self.alipay_bar.set_pos(33,61) - self.alipay_bar.set_style_border_color(self.bg_color, 0) - self.alipay_bar.set_style_border_width(5, 0) - - #编号 - - # 2 - 二维码界面 - self.alipay_qrcode = self.alipay_paycode.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - - #白色背景 - - #提示词 - self.label1 = lv.label(self.alipay_qrcode) - self.label1.set_pos(10, 33) - self.label1.set_size(220, 24) - self.label1.set_long_mode(lv.label.LONG.WRAP) - self.label1.set_text("收银员扫一扫,完成付款") - self.label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - - #二维码 - - self.alipay_qr = lv.qrcode(self.alipay_qrcode, 150, self.fg_color, self.bg_color) - self.alipay_qr.set_pos(33,61) - self.alipay_qr.set_style_border_color(self.bg_color, 0) - self.alipay_qr.set_style_border_width(5, 0) - - def post_processor_after_initialization(self): + def post_processor_after_initialization(self): self.alipay_qr_data = str(self.meta_info) print("alipay_paycode:",str(self.meta_info)) - self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) - self.alipay_bar.update(self.alipay_qr_data,len(self.alipay_qr_data)) + alipay_paycode_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) + alipay_bar.update(self.alipay_qr_data,len(self.alipay_qr_data)) def Close(self): - self.meta.delete() - self.meta = None - + EventMesh.publish("alipay_exit") + pass def done_return(self): EventMesh.publish("load_screen", {"screen": "alipay_1_1"}) @@ -695,57 +682,58 @@ class Alipay_paycode(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) + +alipay_pay_success_screen = lv.obj() +alipay_pay_success_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_pay_success_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#支付成功LOGO +alipay_pay_success_bg = lv.img(alipay_pay_success_screen) +alipay_pay_success_bg.center() +alipay_pay_success_bg.set_size(240,240) +alipay_pay_success_bg.set_src("E:/static/APP/alipay/1_13_1_1.png") +alipay_pay_success_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#付款金额 +alipay_pay_success_label = lv.label(alipay_pay_success_screen) +alipay_pay_success_label.set_pos(78, 114) +alipay_pay_success_label.set_size(84, 43) +alipay_pay_success_label.set_long_mode(lv.label.LONG.WRAP) + +alipay_pay_success_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_pay_success_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +#完成按钮 +alipay_pay_success_btn = lv.btn(alipay_pay_success_screen) +alipay_pay_success_btn.set_size(224,58) +alipay_pay_success_btn.set_pos(8,174) +alipay_pay_success_btn.remove_style_all() +alipay_pay_success_btn.add_style(style_btn_alipay,0) + +alipay_pay_success_label_btn = lv.label(alipay_pay_success_btn) +alipay_pay_success_label_btn.set_text("支付完成") +alipay_pay_success_label_btn.center() +alipay_pay_success_label_btn.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) class Alipay_pay_success(Screen): NAME = "alipay_pay_success" def __init__(self): super().__init__() - self.meta = None + self.meta = alipay_pay_success_screen - def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #支付成功LOGO - self.bg = lv.img(self.meta) - self.bg.center() - self.bg.set_size(240,240) - self.bg.set_src("E:/static/APP/alipay/1_13_1_1.png") - self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #付款金额 - self.label = lv.label(self.meta) - self.label.set_pos(78, 114) - self.label.set_size(84, 43) - self.label.set_long_mode(lv.label.LONG.WRAP) - - self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - #完成按钮 - self.btn = lv.btn(self.meta) - self.btn.set_size(224,58) - self.btn.set_pos(8,174) - self.btn.remove_style_all() - self.btn.add_style(style_btn_alipay,0) - - self.label_btn = lv.label(self.btn) - self.label_btn.set_text("支付完成") - self.label_btn.center() - self.label_btn.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) def post_processor_after_initialization(self): print("money:",str(self.meta_info)) - self.label.set_text(str(self.meta_info)) - + alipay_pay_success_label.set_text(str(self.meta_info)) + + def initialization(self): + pass def Close(self): - self.meta.delete() - self.meta = None + EventMesh.publish("alipay_exit") + pass def btn1_release(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) @@ -753,47 +741,49 @@ class Alipay_pay_success(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) +alipay_collect_screen = lv.obj() +alipay_collect_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_collect_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#二维码 +alipay_collect_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) +alipay_collect_bg_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) + +alipay_collect_alipay_qr = lv.qrcode(alipay_collect_screen, 150, alipay_collect_bg_fg_color, alipay_collect_bg_color) +alipay_collect_alipay_qr.set_pos(33,22) +# Add a border with bg_color +alipay_collect_alipay_qr.set_style_border_color(alipay_collect_bg_color, 0) +alipay_collect_alipay_qr.set_style_border_width(5, 0) + +#提示词 +alipay_collect_label = lv.label(alipay_collect_screen) +alipay_collect_label.set_pos(20, 204) +alipay_collect_label.set_size(200, 24) +alipay_collect_label.set_long_mode(lv.label.LONG.WRAP) +alipay_collect_label.set_text("请对方使用支付宝扫码") +alipay_collect_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_collect_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) class Alipay_collect(Screen): NAME = "alipay_collect" def __init__(self): super().__init__() - self.meta = None + self.meta = alipay_collect_screen + + def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #二维码 - self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) - self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) - - self.alipay_qr = lv.qrcode(self.meta, 150, self.fg_color, self.bg_color) - self.alipay_qr.set_pos(33,22) - # Add a border with bg_color - self.alipay_qr.set_style_border_color(self.bg_color, 0) - self.alipay_qr.set_style_border_width(5, 0) - - #提示词 - self.label = lv.label(self.meta) - self.label.set_pos(20, 204) - self.label.set_size(200, 24) - self.label.set_long_mode(lv.label.LONG.WRAP) - self.label.set_text("请对方使用支付宝扫码") - self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + pass def post_processor_after_initialization(self): self.alipay_qr_data = str(self.meta_info) print("alipay_collect:",str(self.meta_info)) - self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) + alipay_collect_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) def Close(self): - self.meta.delete() - self.meta = None + EventMesh.publish("alipay_exit") + pass def done_return(self): EventMesh.publish("load_screen", {"screen": "alipay_1_1"}) @@ -804,72 +794,72 @@ class Alipay_collect(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) - +alipay_parent_screen = lv.obj() +alipay_parent_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +alipay_parent_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#家长头像 +alipay_parent_bg = lv.img(alipay_parent_screen) +alipay_parent_bg.set_pos(8,12) +alipay_parent_bg.set_size(81,81) +alipay_parent_bg.set_src("E:/static/APP/alipay/1_11_1.png") +alipay_parent_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#提示词 +alipay_parent_label = lv.label(alipay_parent_screen) +alipay_parent_label.set_pos(104, 12) +alipay_parent_label.set_size(96, 29) +alipay_parent_label.set_long_mode(lv.label.LONG.WRAP) +alipay_parent_label.set_text("家长设置") +alipay_parent_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_parent_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +alipay_parent_label1 = lv.label(alipay_parent_screen) +alipay_parent_label1.set_pos(100, 43) +alipay_parent_label1.set_size(120, 29) +alipay_parent_label1.set_long_mode(lv.label.LONG.WRAP) +alipay_parent_label1.set_text("零花钱管理") +alipay_parent_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_parent_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +alipay_parent_label2 = lv.label(alipay_parent_screen) +alipay_parent_label2.set_pos(100, 71) +alipay_parent_label2.set_size(120, 29) +alipay_parent_label2.set_long_mode(lv.label.LONG.WRAP) +alipay_parent_label2.set_text("解绑退钱") +alipay_parent_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alipay_parent_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +#家长码 +alipay_parent_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) +alipay_parent_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) + +alipay_parent_alipay_qr = lv.qrcode(alipay_parent_screen, 150, alipay_parent_fg_color, alipay_parent_bg_color) +alipay_parent_alipay_qr.set_pos(8,171) +# Add a border with bg_color +alipay_parent_alipay_qr.set_style_border_color(alipay_parent_bg_color, 0) +alipay_parent_alipay_qr.set_style_border_width(5, 0) class Alipay_parent(Screen): NAME = "alipay_parent" def __init__(self): super().__init__() - self.meta = None + self.meta = alipay_parent_screen + def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #家长头像 - self.bg = lv.img(self.meta) - self.bg.set_pos(8,12) - self.bg.set_size(81,81) - self.bg.set_src("E:/static/APP/alipay/1_11_1.png") - self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #提示词 - self.label = lv.label(self.meta) - self.label.set_pos(104, 12) - self.label.set_size(96, 29) - self.label.set_long_mode(lv.label.LONG.WRAP) - self.label.set_text("家长设置") - self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.label1 = lv.label(self.meta) - self.label1.set_pos(100, 43) - self.label1.set_size(120, 29) - self.label1.set_long_mode(lv.label.LONG.WRAP) - self.label1.set_text("零花钱管理") - self.label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.label2 = lv.label(self.meta) - self.label2.set_pos(100, 71) - self.label2.set_size(120, 29) - self.label2.set_long_mode(lv.label.LONG.WRAP) - self.label2.set_text("解绑退钱") - self.label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - #家长码 - self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) - self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) - - self.alipay_qr = lv.qrcode(self.meta, 150, self.fg_color, self.bg_color) - self.alipay_qr.set_pos(8,171) - # Add a border with bg_color - self.alipay_qr.set_style_border_color(self.bg_color, 0) - self.alipay_qr.set_style_border_width(5, 0) + pass def post_processor_after_initialization(self): self.alipay_qr_data = str(self.meta_info) print("alipay_parent:",str(self.meta_info)) - self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) + alipay_parent_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data)) def Close(self): - self.meta.delete() - self.meta = None + EventMesh.publish("alipay_exit") + pass def done_return(self): EventMesh.publish("load_screen", {"screen": "alipay_1_1"}) diff --git a/3.code/1.watch/2.code/initTP.py b/3.code/1.watch/2.code/initTP.py index 4bc29fa9..127d482e 100644 --- a/3.code/1.watch/2.code/initTP.py +++ b/3.code/1.watch/2.code/initTP.py @@ -2,10 +2,9 @@ import log from machine import I2C import utime from machine import Pin -import example import uos -ldev = uos.VfsLfs1(32, 32, 32, "ext_fs",0,3) -uos.mount(ldev,'/ext') + +# from ext import capacitive_hynitron_cst816d_update_new from ext import capacitive_hynitron_cst816d_update TP_HYN_I2C_UPDATE_WRITE_ADDR = (0x6A<<1) @@ -21,18 +20,19 @@ def cst816d_read_checksum(): if -1 == cst816d_enter_bootmode(): return -1 - i2c_obj = I2C(I2C.I2C2, I2C.STANDARD_MODE) + i2c_obj = I2C(I2C.I2C2, I2C.FAST_MODE) cmd = [0] - ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x03]), 2, bytearray(cmd), 1) - print("读取checksum写命令 ret:{} cmd[0]:{:#X} ".format(ret,cmd[0])) - utime.sleep_ms(500) - - r_data = bytearray(1) - ret = i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x08]), 2, r_data, 1, 0) - print("读取checksum读命令 ret:{} cmd[0]:{:#X} ".format(ret,r_data[0])) + if -1 == i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x03]), 2, bytearray(cmd), 1): + return -1 + utime.sleep_ms(500)#这里延时太短会读错checksum - return r_data[0] + r_data = bytearray(2) + if -1 == i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x08]), 2, r_data, 2, 0): + return -1 + check_sum = (r_data[1] << 8) | r_data[0] + print("check_sum的值为:",check_sum) + return check_sum #--------------------------------------------------------------------- # GPIO_ResetTP #--------------------------------------------------------------------- @@ -40,9 +40,6 @@ def GPIO_ResetTP(): print("GPIO_ResetTP") - gpio_power = Pin(Pin.GPIO18, Pin.OUT, Pin.PULL_PU, 0) - gpio_power.write(1) - gpio_reset = Pin(Pin.GPIO32, Pin.OUT, Pin.PULL_PU, 0) gpio_reset.write(0) utime.sleep_ms(10) @@ -54,64 +51,56 @@ def GPIO_ResetTP(): #--------------------------------------------------------------------- def cst816d_update(startAddr, length, data): print("cst816d_update") + if -1 == cst816d_enter_bootmode(): + return -1 + sum_len = 0 cmd = [0,0] global x while 1: x += 1 - print("烧录次数:",str(x)) if sum_len >= length: print("sum_len >= length,退出循环") return a = startAddr&0xFF - #print('cmd[0]',a) cmd[0]=a b = startAddr>>8 - #print('cmd[1]',b) cmd[1]=b - i2c_obj = I2C(I2C.I2C2, I2C.STANDARD_MODE) + i2c_obj = I2C(I2C.I2C2, I2C.FAST_MODE) ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x14]), 2, bytearray(cmd), 2) utime.sleep_ms(100) - #print("烧写固件第一次写命令 ret:{} cmd[0]:{:#X} cmd[1]:{:#X}".format(ret,cmd[0],cmd[1])) ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x18]), 2, bytearray(data), PER_LEN) + utime.sleep_ms(100) - #print("烧写固件包 ret : ",ret) - #print("data[0]:{:#X} data[1]:{:#X} data[2]:{:#X} data[510]:{:#X} data[511]:{:#X}".format(data[0],data[1],data[2],data[510],data[511])) cmd[0] = 0xEE ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x04]), 2, bytearray(cmd), 1) - #print("烧写固件第二次写命令 ret:{} cmd[0]:{:#X} ".format(ret,cmd[0])) + utime.sleep_ms(100) retrycnt = 51 for i in range (retrycnt): r_data = bytearray(1) ret = i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x05]), 2, r_data, 1, 0) - utime.sleep_ms(1000) - #print("烧写固件读数据 ret:{} r_data[0]:{:#X} ".format(ret,r_data[0])) + utime.sleep_ms(50) + if r_data[0] == 0x55: print("r_data[0] = 0x55,break") break startAddr = startAddr + PER_LEN del data[0:PER_LEN] - #data = data + PER_LEN sum_len = sum_len + PER_LEN - #print("PER_LEN:",PER_LEN) - #print('startAddr:',hex(startAddr)) - #print("data[0]:{:#X} data[1]:{:#X} data[2]:{:#X} data[510]:{:#X} data[511]:{:#X}".format(data[0],data[1],data[2],data[510],data[511])) - #print('sum_len:',sum_len) #--------------------------------------------------------------------- # cst816d_enter_bootmode #--------------------------------------------------------------------- def cst816d_enter_bootmode(): - print("cst816s_enter_bootmode") GPIO_ResetTP() - i2c_obj = I2C(I2C.I2C2, I2C.STANDARD_MODE) + i2c_obj = I2C(I2C.I2C2, I2C.FAST_MODE) cmd = [0xAB] #进入boot模式 @@ -119,21 +108,17 @@ def cst816d_enter_bootmode(): global y for i in range (retrycnt): y += 1 - print("第{}次尝试进入boot模式".format(y)) if 0 == i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x01]), 2, bytearray(cmd), 1): - utime.sleep_ms(2) - print("boot模式写命令 cmd[0]:{:#X} ".format(cmd[0])) + utime.sleep_ms(100) else: print("boot模式写命令失败") r_data = bytearray(1) if -1 == i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x03]), 2, r_data, 1, 0): - utime.sleep_ms(2) - print("boot模式读flag失败") + utime.sleep_ms(100) else: if 0xc1 == r_data[0]: - print("成功进入boot模式 flag:{:#X} ".format(r_data[0])) - utime.sleep_ms(2) + utime.sleep_ms(100) return 0 else: print("boot模式进入失败") @@ -144,7 +129,6 @@ def cst816d_enter_bootmode(): #--------------------------------------------------------------------- def ctp_hynitron_update(): - print("ctp_hynitron_update") # 初始化固件数组和数组长度 p_app_bin = [] app_bin_len = 0 @@ -154,58 +138,52 @@ def ctp_hynitron_update(): return # 获取固件数组 + # p_app_bin = capacitive_hynitron_cst816d_update_new.app_bin_816d p_app_bin = capacitive_hynitron_cst816d_update.app_bin_816d + # 获取固件数组的长度 app_bin_len = len(p_app_bin) - print("获取固件文件 length ",app_bin_len) if app_bin_len > 10: startAddr = p_app_bin[1] length = p_app_bin[3] - checksum = p_app_bin[5] + checksum = p_app_bin[5] #a8 78 startAddr <<= 8; startAddr |= p_app_bin[0] length <<= 8; length |= p_app_bin[2] checksum <<= 8; checksum |= p_app_bin[4] + print("startAddr:%x"%startAddr) print("length:%x"%length) print("checksum:%x"%checksum) - del p_app_bin[0:6] - cst816d_update(startAddr, length, p_app_bin) - # #检查checksum - # if cst816d_read_checksum() != checksum: + #检查checksum + sum_now = cst816d_read_checksum() + if sum_now != checksum: + print("固件包checksum不相同!") + + del p_app_bin[0:6] + cst816d_update(startAddr, length, p_app_bin) - # del p_app_bin[0:6] - # cst816d_update(startAddr, length, p_app_bin) + #升级后再次确认checksum + if checksum == cst816d_read_checksum(): + print("固件升级成功!") - # #升级后再次确认checksum - # if checksum == cst816d_read_checksum(): - # print("固件升级成功!") + elif checksum == sum_now: + print("固件包checksum相同,退出") - # elif checksum == cst816d_read_checksum(): - # print("固件包checksum相同") - # else: - # print("checksum读取失败") #--------------------------------------------------------------------- # HYN_Initial #--------------------------------------------------------------------- def HYN_Initial(): - print("HYN_Initial") GPIO_ResetTP() ctp_hynitron_update() GPIO_ResetTP() -#--------------------------------------------------------------------- -# main -#--------------------------------------------------------------------- -print("tpcst816d_test: tp start init!!") -HYN_Initial() -print("tpcst816d_test: tp start init end!!") diff --git a/3.code/1.watch/2.code/lcd.py b/3.code/1.watch/2.code/lcd.py index 7354697e..a4116c7d 100644 --- a/3.code/1.watch/2.code/lcd.py +++ b/3.code/1.watch/2.code/lcd.py @@ -5,7 +5,8 @@ import _thread import utime from ext import EventMesh from misc import PWM - +from ext import initTP + init_data = ( 0, 0, 0x11, @@ -166,6 +167,7 @@ disp_drv.ver_res = LCD_SIZE_H disp_drv.register() # CST816初始化 +initTP.HYN_Initial() tp_cst816 = cst816(i2c_no = 2,irq=33, reset=32) tp_cst816.activate() tp_cst816.init() diff --git a/3.code/1.watch/2.code/main.py b/3.code/1.watch/2.code/main.py index 64acbb05..65fbaf9e 100644 --- a/3.code/1.watch/2.code/main.py +++ b/3.code/1.watch/2.code/main.py @@ -36,42 +36,53 @@ class watchApp(App): if __name__ == '__main__': import uos import ql_fs + import utime if ql_fs.path_exists("/ext") == False: ldev = uos.VfsLfs1(32, 32, 32, "ext_fs",0,3) uos.mount(ldev,'/ext') res = uos.statvfs("/ext") res = list(res) print('总ext空间:{} MB,剩余空间:{} MB'.format((((res[0] * res[2]) / 1024 / 1024)),((res[0] * res[3]) / 1024 / 1024))) - + print("init1:{}".format(utime.localtime())) from ext import EventMesh from ext.common import Abstract + print("init2:{}".format(utime.localtime())) from ext.lcd import tp_cst816 + print("init3:{}".format(utime.localtime())) from ext.btn_device_ec800m import BtnDevice from ext.protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,ProtoColResolver,PHL_ProtoCol + print("init4:{}".format(utime.localtime())) import ext.mgr as mgr + print("init5:{}".format(utime.localtime())) import ext.ui as _ui - from ext.mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager, \ + print("init6:{}".format(utime.localtime())) + from ext.mgr import ConfigStoreManager, LocationManager, SockManager, \ NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getOldHrDataManager,getStorageDataManager,getBrightnessManager,getHrTimeManager from ext.appAlipay import Alipay ,AlipayOpenScreen,Alipay_1_1,Alipay_invite,Alipay_inviting,\ Alipay_success,Alipay_paycode,Alipay_pay_success,Alipay_collect,Alipay_parent # from ext.ui_WatchFaceScreen import WatchFaceScreen from ext.alarm import ClkListScreen,ClockManager,NewEditClk,CLKTimeScreen,ClkPeriod,PopupAlarmScreen from ext.ui_main_menu import MainMenuScreen - from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol,NewWechatPopupScreen + #from ext.ui_WatchFaceScreen import WatchFaceScreen + from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol import ext.ui_setting as _ui_setting from ext.appFactoryMode import FactoryModeLocationScreen,FactoryModeScreen # from usr.test_sms import HRSTART_ProtoCol,getHrTimeManager,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,getBrightnessManager,\ # getStorageDataManager - + print("init7:{}".format(utime.localtime())) #from usr.ui_wechat import WechatScreen,TK_ProtoCol btn_device = BtnDevice(tp_cst816) btn_device.start() - + print("init8:{}".format(utime.localtime())) ui = _ui.UI() # ui.add_screen(WatchFaceScreen()) ui.add_screen(_ui.PopupScreen()) ui.add_screen(_ui.PhoneScreen()) + #ui.add_screen(WatchFaceScreen()) + # ui.add_screen(WatchFace1Screen()) + # ui.add_screen(WatchFace2Screen()) ui.add_screen(MainMenuScreen()) + #ui.add_screen(MainMenu2Screen()) ui.add_screen(_ui.HeartrateScreen()) ui.add_screen(_ui_setting.SettingScreen()) ui.add_screen(_ui.ToolboxScreen()) @@ -124,11 +135,8 @@ if __name__ == '__main__': ui.add_screen(FactoryModeLocationScreen()) ui.add_screen(FactoryModeScreen()) ui.add_screen(PopupAlarmScreen()) - ui.add_screen(_ui.LowPowerScreen()) - ui.add_screen(_ui.NewMessageScreen()) - ui.add_screen(NewWechatPopupScreen()) # ui.add_screen(_ui.Setting3Screen()) - + print("init9:{}".format(utime.localtime())) app = watchApp() app.set_ui(ui) @@ -156,8 +164,7 @@ if __name__ == '__main__': app.append_manager(getHrTimeManager()) app.append_manager(getBrightnessManager()) app.append_manager(getStorageDataManager()) - app.append_manager(getVolumSizeManager()) - + print("init10:{}".format(utime.localtime())) pcr = ProtoColResolver() pcr.add_support(LK_ProtoCol()) pcr.add_support(PING_ProtoCol()) @@ -179,6 +186,7 @@ if __name__ == '__main__': sm.add_support_resolver(pcr) app.append_manager(sm) app.start() - + print("init11:{}".format(utime.localtime())) EventMesh.publish("load_screen", {"screen": "main_menu"}) + diff --git a/3.code/1.watch/2.code/main_1.py b/3.code/1.watch/2.code/main_1.py index 356ec544..65fbaf9e 100644 --- a/3.code/1.watch/2.code/main_1.py +++ b/3.code/1.watch/2.code/main_1.py @@ -35,7 +35,6 @@ class watchApp(App): if __name__ == '__main__': import uos - import gc import ql_fs import utime if ql_fs.path_exists("/ext") == False: @@ -44,43 +43,46 @@ if __name__ == '__main__': res = uos.statvfs("/ext") res = list(res) print('总ext空间:{} MB,剩余空间:{} MB'.format((((res[0] * res[2]) / 1024 / 1024)),((res[0] * res[3]) / 1024 / 1024))) - mem = gc.mem_free() - print('剩余内存RAM:{} KB'.format(mem / 1024)) - print("init0:{}".format(utime.localtime())) + print("init1:{}".format(utime.localtime())) from ext import EventMesh from ext.common import Abstract + print("init2:{}".format(utime.localtime())) from ext.lcd import tp_cst816 + print("init3:{}".format(utime.localtime())) from ext.btn_device_ec800m import BtnDevice from ext.protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,ProtoColResolver,PHL_ProtoCol + print("init4:{}".format(utime.localtime())) import ext.mgr as mgr - print("init1:{}".format(utime.localtime())) + print("init5:{}".format(utime.localtime())) import ext.ui as _ui - print("init2:{}".format(utime.localtime())) - from ext.mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager, \ + print("init6:{}".format(utime.localtime())) + from ext.mgr import ConfigStoreManager, LocationManager, SockManager, \ NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getOldHrDataManager,getStorageDataManager,getBrightnessManager,getHrTimeManager - print("init3:{}".format(utime.localtime())) from ext.appAlipay import Alipay ,AlipayOpenScreen,Alipay_1_1,Alipay_invite,Alipay_inviting,\ Alipay_success,Alipay_paycode,Alipay_pay_success,Alipay_collect,Alipay_parent # from ext.ui_WatchFaceScreen import WatchFaceScreen - print("init4:{}".format(utime.localtime())) from ext.alarm import ClkListScreen,ClockManager,NewEditClk,CLKTimeScreen,ClkPeriod,PopupAlarmScreen from ext.ui_main_menu import MainMenuScreen - from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol,NewWechatPopupScreen + #from ext.ui_WatchFaceScreen import WatchFaceScreen + from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol import ext.ui_setting as _ui_setting - print("init5:{}".format(utime.localtime())) from ext.appFactoryMode import FactoryModeLocationScreen,FactoryModeScreen # from usr.test_sms import HRSTART_ProtoCol,getHrTimeManager,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,getBrightnessManager,\ # getStorageDataManager - print("init6:{}".format(utime.localtime())) + print("init7:{}".format(utime.localtime())) #from usr.ui_wechat import WechatScreen,TK_ProtoCol btn_device = BtnDevice(tp_cst816) btn_device.start() - + print("init8:{}".format(utime.localtime())) ui = _ui.UI() # ui.add_screen(WatchFaceScreen()) ui.add_screen(_ui.PopupScreen()) ui.add_screen(_ui.PhoneScreen()) + #ui.add_screen(WatchFaceScreen()) + # ui.add_screen(WatchFace1Screen()) + # ui.add_screen(WatchFace2Screen()) ui.add_screen(MainMenuScreen()) + #ui.add_screen(MainMenu2Screen()) ui.add_screen(_ui.HeartrateScreen()) ui.add_screen(_ui_setting.SettingScreen()) ui.add_screen(_ui.ToolboxScreen()) @@ -114,7 +116,6 @@ if __name__ == '__main__': ui.add_screen(_ui_setting.MsgvolumeScreen()) ui.add_screen(_ui_setting.PhoneringScreen()) ui.add_screen(_ui_setting.totalvolumeScreen()) - ui.add_screen(_ui_setting.PoweroffConfirmScreen()) ui.add_screen(_ui.DialingScreen()) ui.add_screen(_ui.CallLogScreen()) ui.add_screen(AlipayOpenScreen()) @@ -134,12 +135,9 @@ if __name__ == '__main__': ui.add_screen(FactoryModeLocationScreen()) ui.add_screen(FactoryModeScreen()) ui.add_screen(PopupAlarmScreen()) - ui.add_screen(_ui.LowPowerScreen()) - ui.add_screen(_ui.NewMessageScreen()) - ui.add_screen(NewWechatPopupScreen()) # ui.add_screen(_ui.Setting3Screen()) + print("init9:{}".format(utime.localtime())) - print("init7:{}".format(utime.localtime())) app = watchApp() app.set_ui(ui) app.append_manager(mgr.AlarmVolumeLevelManager()) \ @@ -166,8 +164,7 @@ if __name__ == '__main__': app.append_manager(getHrTimeManager()) app.append_manager(getBrightnessManager()) app.append_manager(getStorageDataManager()) - app.append_manager(getVolumSizeManager()) - + print("init10:{}".format(utime.localtime())) pcr = ProtoColResolver() pcr.add_support(LK_ProtoCol()) pcr.add_support(PING_ProtoCol()) @@ -189,6 +186,7 @@ if __name__ == '__main__': sm.add_support_resolver(pcr) app.append_manager(sm) app.start() - print("init8:{}".format(utime.localtime())) + print("init11:{}".format(utime.localtime())) EventMesh.publish("load_screen", {"screen": "main_menu"}) + diff --git a/3.code/1.watch/2.code/mgr.py b/3.code/1.watch/2.code/mgr.py index d62fa1a4..2eec719f 100644 --- a/3.code/1.watch/2.code/mgr.py +++ b/3.code/1.watch/2.code/mgr.py @@ -1575,7 +1575,6 @@ class getWeatherDataManager(Abstract): EventMesh.subscribe("set_weather_data", self.set) def get(self, event, msg): - # print("self.type:{} self.temp:{} ".format(self.type,self.temp)) return [self.date,self.time,self.content,self.type,self.temp,self.min_temp,self.max_temp,self.city,self.no_data] def set(self, event, msg): @@ -1588,8 +1587,6 @@ class getWeatherDataManager(Abstract): self.max_temp = msg[6] self.city = msg[7] self.no_data = msg[8] - # print("self.date:{} self.time:{} self.content:{} self.type:{} self.temp:{} self.min_temp:{} self.max_temp:{} self.city:{}".format(self.date,self.time,self.content,self.type,self.temp,self.min_temp,self.max_temp,\ - # self.city)) class getHrTimeManager(Abstract): diff --git a/3.code/1.watch/2.code/protocol.py b/3.code/1.watch/2.code/protocol.py index bc77019c..ce5931f5 100644 --- a/3.code/1.watch/2.code/protocol.py +++ b/3.code/1.watch/2.code/protocol.py @@ -492,6 +492,7 @@ class WT_ProtoCol(ProtoCol): msg_tmp = msg_tmp[1] # print("msg_tmp :%s"%(msg_tmp)) + msg_date = msg_tmp.split(',')[0] msg_time = msg_tmp.split(',')[1] diff --git a/3.code/1.watch/2.code/ui.py b/3.code/1.watch/2.code/ui.py index 18a7aa23..c3b02c07 100644 --- a/3.code/1.watch/2.code/ui.py +++ b/3.code/1.watch/2.code/ui.py @@ -17,6 +17,7 @@ from machine import Pin from ext.lcd import lcd,lcd_ctrl,tp_cst816 from misc import PWM import uos +import gc # -----------------------------------------style create-------------------------------------- style_screen = lv.style_t() style_screen.init() @@ -250,23 +251,6 @@ toolbox_alarm_img.add_flag(lv.obj.FLAG.CLICKABLE) toolbox_alarm_img.set_src("E:/static/tool/IMAGE_SECMENU_ALARM.png") toolbox_alarm_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - -toolbox_sms = lv.btn(toolbox_cont) -toolbox_sms.set_pos(0, 120) -toolbox_sms.set_size(0, 0) -toolbox_sms_label = lv.label(toolbox_sms) -toolbox_sms_label.set_text("闹钟") -toolbox_sms.set_style_pad_all(0, lv.STATE.DEFAULT) -toolbox_sms_label.align(lv.ALIGN.LEFT_MID, 70, 0) -toolbox_sms_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) -toolbox_sms.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) -toolbox_sms_img = lv.img(toolbox_cont) -toolbox_sms_img.set_pos(4, 270) -toolbox_sms_img.set_size(232, 80) -toolbox_sms_img.add_flag(lv.obj.FLAG.CLICKABLE) -toolbox_sms_img.set_src("E:/static/tool/sms_setting.png") -toolbox_sms_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - toolbox_countdown = lv.btn(toolbox_cont) toolbox_countdown.set_pos(0, 180) toolbox_countdown.set_size(0, 0) @@ -277,7 +261,7 @@ toolbox_countdown_label.align(lv.ALIGN.LEFT_MID, 70, 0) toolbox_countdown_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) toolbox_countdown.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) toolbox_countdown_img = lv.img(toolbox_cont) -toolbox_countdown_img.set_pos(4, 360) +toolbox_countdown_img.set_pos(4, 270) toolbox_countdown_img.set_size(232, 80) toolbox_countdown_img.add_flag(lv.obj.FLAG.CLICKABLE) toolbox_countdown_img.set_src("E:/static/tool/IMAGE_SECMENU_COUNTDOWN.png") @@ -293,7 +277,7 @@ toolbox_stopwatch_label.align(lv.ALIGN.LEFT_MID, 70, 0) toolbox_stopwatch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) toolbox_stopwatch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) toolbox_stopwatch_img = lv.img(toolbox_cont) -toolbox_stopwatch_img.set_pos(4, 450) +toolbox_stopwatch_img.set_pos(4, 360) toolbox_stopwatch_img.set_size(232, 80) toolbox_stopwatch_img.add_flag(lv.obj.FLAG.CLICKABLE) toolbox_stopwatch_img.set_src("E:/static/tool/IMAGE_SECMENU_STOPWATCH.png") @@ -558,7 +542,7 @@ msg_detail_cont = lv.label(sms_detail) msg_detail_cont.set_pos(0, 50) msg_detail_cont.set_size(240, 200) msg_detail_cont.set_long_mode(lv.label.LONG.WRAP) -msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) +msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) msg_detail_cont.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) @@ -584,6 +568,7 @@ class Screen(Abstract): EventMesh.publish("load_screen", msg) + def load(self): pass @@ -1310,7 +1295,7 @@ class DialingScreen(Screen): EventMesh.publish("load_screen", {"screen": "main_menu"}) ############短信############################### MSG_FLAG = 0 -MSG_MAX = 5 #最大显示短信内容条数 +MSG_MAX = 10 #最大显示短信内容条数 style_sms_bg_btn = lv.style_t() style_sms_bg_btn.init() @@ -1370,55 +1355,11 @@ no_msg_text.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) def msg_cb(args): index = args[1] storage = args[2] + EventMesh.publish("sms_updata_list_show") + #print('New message! storage:{},index:{}'.format(storage, index)) - EventMesh.publish("load_screen", {"screen": "message_popup"}) - sms.setCallback(msg_cb) -message_popup_screen = lv.obj() -message_popup = lv.obj(message_popup_screen) -message_popup.center() -message_popup.set_size(240, 320) -message_popup.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - -message_popup_title = lv.label(message_popup) -message_popup_title.set_pos(0, 150) -message_popup_title.set_size(240, 40) -message_popup_title.set_text("你有新的消息") -message_popup_title.set_long_mode(lv.label.LONG.WRAP) -message_popup_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -message_popup_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) -#信息弹窗 -class NewMessageScreen(Screen): - NAME = "message_popup" - def __init__(self): - super().__init__() - self.meta = message_popup_screen - - - def done_left_to_right(self): - EventMesh.publish("load_screen", {"screen": "popup"}) - - def done_right_to_left(self): - EventMesh.publish("load_screen", {"screen": "popup"}) - - def done_bottom_to_top(self): - EventMesh.publish("load_screen", {"screen": "popup"}) - - def done_top_to_bottom(self): - EventMesh.publish("load_screen", {"screen": "popup"}) - - def done_return(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - def done_click(self): - EventMesh.publish("load_screen", {"screen": "popup"}) - - def btn1_release(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - - def btn8_press(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - class PopupScreen(Screen): @@ -1458,8 +1399,8 @@ class PopupScreen(Screen): self.sms_detail_list.set_size(230, 270) self.sms_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) self.sms_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - if self.msg_nums > MSG_MAX: - j = self.msg_nums-MSG_MAX + if self.msg_nums > 10: + j = self.msg_nums-10 for i in range(MSG_MAX): if count > (MSG_MAX-1):#j = 16 -10 6 7 8 9 10 11 12 13 14 15 break @@ -1559,9 +1500,6 @@ class MsgDetailScreen(Screen): EventMesh.publish("load_screen", {"screen": "main_menu"}) def btn8_press(self): EventMesh.publish("load_screen", {"screen": "popup"}) - - - # -------------------------------------------heartrate screen---------------------------------------------------------- heartrate_screen = lv.obj() heartrate = lv.obj(heartrate_screen) @@ -1685,30 +1623,25 @@ class HeartrateScreen(Screen): EventMesh.publish("load_screen", {"screen": "main_menu"}) -import gc + class ToolboxScreen(Screen): NAME = "toolbox" def __init__(self): super().__init__() self.meta = toolbox_screen - # toolbox_step.add_event_cb(lambda e: self.load_screen(e, {"screen": "step"}), lv.EVENT.CLICKED, None) - # toolbox_weather.add_event_cb(lambda e: self.load_screen(e, {"screen": "weather"}), lv.EVENT.CLICKED, None) - # toolbox_alarm.add_event_cb(lambda e: self.load_screen(e, {"screen": "clk_list"}), lv.EVENT.CLICKED, None) - # toolbox_sms_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "popup"}), lv.EVENT.CLICKED, None) - # toolbox_countdown.add_event_cb(lambda e: self.load_screen(e, {"screen": "countdown"}), lv.EVENT.CLICKED, None) - # toolbox_stopwatch.add_event_cb(lambda e: self.load_screen(e, {"screen": "stopwatch"}), lv.EVENT.CLICKED, None) - + toolbox_step.add_event_cb(lambda e: self.load_screen(e, {"screen": "step"}), lv.EVENT.CLICKED, None) + toolbox_weather.add_event_cb(lambda e: self.load_screen(e, {"screen": "weather"}), lv.EVENT.CLICKED, None) + toolbox_alarm.add_event_cb(lambda e: self.load_screen(e, {"screen": "clk_list"}), lv.EVENT.CLICKED, None) + toolbox_countdown.add_event_cb(lambda e: self.load_screen(e, {"screen": "countdown"}), lv.EVENT.CLICKED, None) + toolbox_stopwatch.add_event_cb(lambda e: self.load_screen(e, {"screen": "stopwatch"}), lv.EVENT.CLICKED, None) + toolbox_step_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "step"}), lv.EVENT.CLICKED, None) toolbox_weather_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "weather"}), lv.EVENT.CLICKED, None) toolbox_alarm_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "clk_list"}), lv.EVENT.CLICKED, None) - toolbox_sms_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "popup"}), lv.EVENT.CLICKED, None) toolbox_countdown_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "countdown"}), lv.EVENT.CLICKED, None) toolbox_stopwatch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "stopwatch"}), lv.EVENT.CLICKED, None) - - # def post_processor_after_initialization(self): - # mem = gc.mem_free() - # print('剩余内存RAM:{} KB'.format(mem / 1024)) + def done_return(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) @@ -1719,6 +1652,10 @@ class ToolboxScreen(Screen): EventMesh.publish("load_screen", {"screen": "main_menu"}) + + + +CALL_LOG_MAX = 50 class IncomingCallScreen(Screen): NAME = "incoming_call" @@ -3136,57 +3073,21 @@ class StopwatchScreen(Screen): -#电量低 -class LowPowerScreen(Screen): - NAME = "low_power" - def __init__(self): - super().__init__() - self.FIND_timer = osTimer() - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) - #进入图片 - self.watchface_mpsignal_img = lv.img(self.meta) - self.watchface_mpsignal_img.set_pos(int(40),int(45)) - self.watchface_mpsignal_img.set_size(160,230) - self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_mpsignal_img.set_src("E:/static/low_power.png") - self.watchface_mpsignal_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) - - def initialization(self): - self.FIND_timer.start(10000, 0, self.FIND_timer_cb) - - def FIND_timer_cb(self, *args): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - - def Close(self): - self.FIND_timer.stop() - - def done_left_to_right(self): - - EventMesh.publish("load_screen", {"screen": "main_menu"}) - def done_right_to_left(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - def done_bottom_to_top(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - def done_top_to_bottom(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - def done_return(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - def done_click(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - - def btn1_release(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - - def btn8_press(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - +FIND_screen = lv.obj() +FIND_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +# add style for watchface +FIND_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) +#进入图片 +watchface_mpsignal_img = lv.img(FIND_screen) +watchface_mpsignal_img.set_pos(int(40),int(45)) +watchface_mpsignal_img.set_size(160,230) +watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface_mpsignal_img.set_src("E:/static/find_phone.png") +watchface_mpsignal_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) class UIFINDScreen(Screen): NAME = "FIND" def __init__(self): @@ -3213,29 +3114,18 @@ class UIFINDScreen(Screen): self.FIND_timer = osTimer() self.FIND_timer_count = 0 - self.meta = lv.obj() - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # add style for watchface - self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) - #进入图片 - self.watchface_mpsignal_img = lv.img(self.meta) - self.watchface_mpsignal_img.set_pos(int(40),int(45)) - self.watchface_mpsignal_img.set_size(160,230) - self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_mpsignal_img.set_src("E:/static/find_phone.png") - self.watchface_mpsignal_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) + self.meta = FIND_screen def initialization(self): self.FIND_timer.start(3000, 1, self.FIND_timer_cb) - self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3') #播放声音 + self.aud.play(1, 0, 'E:/static/audio_audio_haixiu.mp3') #播放声音 def post_processor_after_instantiation(self): pass def post_processor_after_initialization(self): pass def FIND_timer_cb(self, *args): - self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3') + self.aud.play(1, 0, 'E:/static/audio_audio_haixiu.mp3') self.FIND_timer_count += 1 if self.FIND_timer_count > 40: #120秒 self.stop_FIND() @@ -3372,17 +3262,17 @@ class UI(object): if event == "done_click": self.screen.done_click() def btn_press(self, event, key): - print("btn_press: {} self.main_flag:{} self.sleep_flag:{}".format(event,self.main_flag,self.sleep_flag)) + print("btn_press: {}".format(event)) #主表盘按电源键,息屏 #息屏状态按按钮都亮屏 - if self.sleep_flag == 0: + if self.main_flag != 1 and self.sleep_flag == 0: self.__lcd_on() return # if event == "btn1_press": - # self.screen.btn1_press() + # self.screen.btn1_press() if event == "btn8_press": self.screen.btn8_press() if event == "btn8_long_press": @@ -3482,7 +3372,8 @@ class UI(object): self.main_flag = 1 else : self.main_flag = 0 - + mem = gc.mem_free() + print('1剩余内存RAM:{} KB'.format(mem / 1024)) self.screen = scr if self.screen_old != None : @@ -3498,10 +3389,13 @@ class UI(object): print("load_screen.load()") self.screen.load() self.lv.scr_load(self.screen.get_meta()) + if scr.NAME == "incoming_call_screen" : + self.lv.scr_load(lv.scr_act()) self.screen.post_processor_after_initialization() + mem = gc.mem_free() + print('2剩余内存RAM:{} KB'.format(mem / 1024)) - diff --git a/3.code/1.watch/2.code/ui_WatchFaceScreen.py b/3.code/1.watch/2.code/ui_WatchFaceScreen.py index 57faf56c..289cbccf 100644 --- a/3.code/1.watch/2.code/ui_WatchFaceScreen.py +++ b/3.code/1.watch/2.code/ui_WatchFaceScreen.py @@ -8,214 +8,138 @@ from ext.ui import Screen,style_screen import ql_fs import ujson +from ext.ui_main_menu import MainMenu2_Watchface + + style_font_youyuan_20 = lv.style_t() style_font_youyuan_20.init() style_font_youyuan_20.set_text_color(lv.color_make(0xff, 0xff, 0xff)) style_font_youyuan_20.set_text_font_v2("font_22.bin",22,0) + +Watchface = lv.obj() + +Watchface1 = lv.obj(Watchface) + +Watchface1.set_size(240,320) +#Watchface1.set_pos(0,0) +Watchface1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +Watchface1.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) + +# create style style_watchface_img_default +style_watchface_img_default = lv.style_t() +style_watchface_img_default.init() +style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff)) +style_watchface_img_default.set_img_recolor_opa(0) +style_watchface_img_default.set_img_opa(255) + + +#表盘 + +#状态栏 + +watchface1_mpsignal_img = lv.img(Watchface1) +watchface1_mpsignal_img.set_pos(int(20),int(0)) +watchface1_mpsignal_img.set_size(24,17) +watchface1_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface1_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface1_mpsignal_img.set_src("E:/static/mpsignal5.png") +watchface1_mpsignal_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface1_res_stat_battery_img = lv.img(Watchface1) +watchface1_res_stat_battery_img.set_pos(int(200),int(0)) +watchface1_res_stat_battery_img.set_size(30,18) +watchface1_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface1_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface1_res_stat_battery_img.set_src("E:/static/vbat_100.png") +watchface1_res_stat_battery_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface1_res_stat_charge_in_img = lv.img(Watchface1) +watchface1_res_stat_charge_in_img.set_pos(int(180),int(0)) +watchface1_res_stat_charge_in_img.set_size(6,16) +watchface1_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface1_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface1_res_stat_charge_in_img.set_src("E:/static/charge_in.png") +# add style for watchface1_res_stat_charge_in_img +watchface1_res_stat_charge_in_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +#主图片 +watchface1_bg_img = lv.img(Watchface1) +watchface1_bg_img.set_pos(int(0),int(40)) +watchface1_bg_img.set_size(240,280) +watchface1_bg_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface1_bg_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface1_bg_img.set_src("E:/static/watch_plate/style_1/bg.png") +watchface1_bg_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) +#时间 + + style_font_youyuan_70_black = lv.style_t() style_font_youyuan_70_black.init() style_font_youyuan_70_black.set_text_color(lv.color_make(0x32, 0xc8, 0xdb)) style_font_youyuan_70_black.set_text_font(lv.font_70_bold) -style_font_youyuan_70_red = lv.style_t() -style_font_youyuan_70_red.init() -style_font_youyuan_70_red.set_text_color(lv.color_make(0xe5, 0x37, 0x29)) -style_font_youyuan_70_red.set_text_font(lv.font_70_bold) +watchface1_time1_text = lv.label(Watchface1) +watchface1_time1_text.set_pos(20, 60) +watchface1_time1_text.set_size(190, 71) +watchface1_time1_text.set_align(lv.TEXT_ALIGN.LEFT) +watchface1_time1_text.set_text("12:00") +watchface1_time1_text.add_style(style_font_youyuan_70_black, lv.PART.MAIN|lv.STATE.DEFAULT) -style_font_youyuan_40_red = lv.style_t() -style_font_youyuan_40_red.init() -style_font_youyuan_40_red.set_text_color(lv.color_make(0xe5, 0x37, 0x29)) -style_font_youyuan_40_red.set_text_font(lv.font_30_week) +#日期 +watchface1_date_span = lv.label(Watchface1) +watchface1_date_span.set_pos(24, 131) +watchface1_date_span.set_size(84, 30) +watchface1_date_span.set_align(lv.TEXT_ALIGN.LEFT) +watchface1_date_span.set_text("12月9日") +watchface1_date_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) +#星期 +watchface1_week_span = lv.label(Watchface1) +watchface1_week_span.set_pos(24, 163) +watchface1_week_span.set_size(70, 30) +watchface1_week_span.set_align(lv.TEXT_ALIGN.LEFT) +watchface1_week_span.set_text("星期四") +watchface1_week_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) -class Watchface1(): - NAME = "Watchface1" - # # #表盘1 - def __init__(self,main_menu): - print("Watchface1:__init__") - - self.meta = lv.obj(main_menu) - self.meta.set_size(240,320) - #self.meta.set_pos(0,0) - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # # create style watchface_default - # self.watchface_default = lv.style_t() - # self.watchface_default.init() - # self.watchface_default.set_bg_color(lv.color_make(0x00,0x00,0x00)) - # self.watchface_default.set_bg_opa(255) - # add style for watchface - self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) - - # create style style_watchface_img_default - self.style_watchface_img_default = lv.style_t() - self.style_watchface_img_default.init() - self.style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff)) - self.style_watchface_img_default.set_img_recolor_opa(0) - self.style_watchface_img_default.set_img_opa(255) - #表盘 - - label_text = lv.label(self.meta) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("0") - #状态栏 - - self.watchface_mpsignal_img = lv.img(self.meta) - self.watchface_mpsignal_img.set_pos(int(20),int(0)) - self.watchface_mpsignal_img.set_size(24,17) - self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png") - self.watchface_mpsignal_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface_res_stat_battery_img = lv.img(self.meta) - self.watchface_res_stat_battery_img.set_pos(int(200),int(0)) - self.watchface_res_stat_battery_img.set_size(30,18) - self.watchface_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_res_stat_battery_img.set_src("E:/static/vbat_100.png") - self.watchface_res_stat_battery_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface_res_stat_charge_in_img = lv.img(self.meta) - self.watchface_res_stat_charge_in_img.set_pos(int(180),int(0)) - self.watchface_res_stat_charge_in_img.set_size(6,16) - self.watchface_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png") - # add style for watchface_res_stat_charge_in_img - self.watchface_res_stat_charge_in_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - #主图片 - self.watchface1_bg_img = lv.img(self.meta) - self.watchface1_bg_img.set_pos(int(0),int(40)) - self.watchface1_bg_img.set_size(240,280) - self.watchface1_bg_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface1_bg_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface1_bg_img.set_src("E:/static/watch_plate/style_1/bg.png") - self.watchface1_bg_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - #时间 - x = 40 - y = 80 - # self.watchface1_time1_img = lv.img(self.meta) - # self.watchface1_time1_img.set_pos(int(x),int(y)) - # self.watchface1_time1_img.set_size(36,44) - # self.watchface1_time1_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_time1_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_time1_img.set_src("E:/static/watch_plate/style_1/time/1.png") - # self.watchface1_time1_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.watchface1_time2_img = lv.img(self.meta) - # self.watchface1_time2_img.set_pos(int(x+36),int(y)) - # self.watchface1_time2_img.set_size(36,44) - # self.watchface1_time2_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_time2_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_time2_img.set_src("E:/static/watch_plate/style_1/time/3.png") - # self.watchface1_time2_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.watchface1_time3_img = lv.img(self.meta) - # self.watchface1_time3_img.set_pos(int(x+36+36+4),int(y+11)) - # self.watchface1_time3_img.set_size(8,24) - # self.watchface1_time3_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_time3_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_time3_img.set_src("E:/static/watch_plate/style_1/time/colon.png") - # self.watchface1_time3_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.watchface1_time4_img = lv.img(self.meta) - # self.watchface1_time4_img.set_pos(int(x+36+36+4+12),int(y)) - # self.watchface1_time4_img.set_size(36,44) - # self.watchface1_time4_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_time4_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_time4_img.set_src("E:/static/watch_plate/style_1/time/2.png") - # self.watchface1_time4_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.watchface1_time5_img = lv.img(self.meta) - # self.watchface1_time5_img.set_pos(int(x+36+36+4+12+36),int(y)) - # self.watchface1_time5_img.set_size(36,44) - # self.watchface1_time5_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_time5_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_time5_img.set_src("E:/static/watch_plate/style_1/time/3.png") - # self.watchface1_time5_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - # create style self.watchface1_style_default - - - - - self.watchface1_time1_text = lv.label(self.meta) - self.watchface1_time1_text.set_pos(20, 60) - self.watchface1_time1_text.set_size(190, 71) - self.watchface1_time1_text.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_time1_text.set_text("12:00") - self.watchface1_time1_text.add_style(style_font_youyuan_70_black, lv.PART.MAIN|lv.STATE.DEFAULT) - - #日期 - self.watchface1_date_span = lv.label(self.meta) - self.watchface1_date_span.set_pos(24, 131) - self.watchface1_date_span.set_size(84, 30) - self.watchface1_date_span.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_date_span.set_text("12月9日") - self.watchface1_date_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) - #星期 - self.watchface1_week_span = lv.label(self.meta) - self.watchface1_week_span.set_pos(24, 163) - self.watchface1_week_span.set_size(70, 30) - self.watchface1_week_span.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_week_span.set_text("星期四") - self.watchface1_week_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) - - #计步 - # self.watchface1_step_img = lv.img(self.meta) - # self.watchface1_step_img.set_pos(int(130),int(160)) - # self.watchface1_step_img.set_size(26,24) - # self.watchface1_step_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_step_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_step_img.set_src("E:/static/watch_plate/style_1/step.png") - # self.watchface1_step_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_step_span = lv.label(self.meta) - self.watchface1_step_span.set_pos(170, 163) - self.watchface1_step_span.set_size(70, 30) - self.watchface1_step_span.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_step_span.set_text("0") - self.watchface1_step_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) - - #心律 - # self.watchface1_HB_img = lv.img(self.meta) - # self.watchface1_HB_img.set_pos(int(53),int(198)) - # self.watchface1_HB_img.set_size(30,27) - # self.watchface1_HB_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_HB_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_HB_img.set_src("E:/static/watch_plate/style_1/heart.png") - # self.watchface1_HB_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_HB_span = lv.label(self.meta) - self.watchface1_HB_span.set_pos(60, 235) - self.watchface1_HB_span.set_size(80, 30) - self.watchface1_HB_span.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_HB_span.set_text("0") - self.watchface1_HB_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) - - #血氧 - # self.watchface1_SPO2_img = lv.img(self.meta) - # self.watchface1_SPO2_img.set_pos(int(161),int(193)) - # self.watchface1_SPO2_img.set_size(23,32) - # self.watchface1_SPO2_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_SPO2_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_SPO2_img.set_src("E:/static/watch_plate/style_1/blood.png") - # self.watchface1_SPO2_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_SPO2_span = lv.label(self.meta) - self.watchface1_SPO2_span.set_pos(164, 235) - self.watchface1_SPO2_span.set_size(80, 30) - self.watchface1_SPO2_span.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_SPO2_span.set_text("0") - self.watchface1_SPO2_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) +watchface1_step_span = lv.label(Watchface1) +watchface1_step_span.set_pos(170, 163) +watchface1_step_span.set_size(70, 30) +watchface1_step_span.set_align(lv.TEXT_ALIGN.LEFT) +watchface1_step_span.set_text("0") +watchface1_step_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) - - def initialization(self): +watchface1_HB_span = lv.label(Watchface1) +watchface1_HB_span.set_pos(55, 235) +watchface1_HB_span.set_size(80, 30) +watchface1_HB_span.set_align(lv.TEXT_ALIGN.LEFT) +watchface1_HB_span.set_text("0") +watchface1_HB_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) + + + +watchface1_SPO2_span = lv.label(Watchface1) +watchface1_SPO2_span.set_pos(160, 235) +watchface1_SPO2_span.set_size(80, 30) +watchface1_SPO2_span.set_align(lv.TEXT_ALIGN.LEFT) +watchface1_SPO2_span.set_text("0") +watchface1_SPO2_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) + + +class WatchFace1(): + NAME = "Watchface1" + # # #表盘1 + def __init__(self): + print("Watchface1:__init__") + self.meta = Watchface1 + + + def initialization(self,main_menu): + print("Watchface1:initialization") + Watchface1.set_parent(main_menu)#设置父控件 #获取信号 signal = EventMesh.publish("screen_get_sig") if signal: @@ -237,6 +161,7 @@ class Watchface1(): step = EventMesh.publish(constants.EVENT.GET_STEP) self.__stepValue(None, step[0]) + def timerout_update(self): #获取信号 signal = EventMesh.publish("screen_get_sig") @@ -262,17 +187,10 @@ class Watchface1(): def __time(self, event, msg): #时间 - hour1_chose = (msg[0][0])//10%10 - hour2_chose = (msg[0][0])%10 - min1_chose = (msg[0][1])//10%10 - min2_chose = (msg[0][1])%10 - self.watchface1_time1_text.set_text("{}:{}".format("%02d"%(msg[0][0]),"%02d"%(msg[0][1]))) - # self.watchface1_time1_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(hour1_chose)) - # self.watchface1_time2_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(hour2_chose)) - # self.watchface1_time4_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(min1_chose)) - # self.watchface1_time5_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(min2_chose)) - self.watchface1_date_span.set_text(msg[2])#日期 - self.watchface1_week_span.set_text(msg[3]) #星期 + watchface1_time1_text.set_text("{}:{}".format("%02d"%(msg[0][0]),"%02d"%(msg[0][1]))) + + watchface1_date_span.set_text(msg[2])#日期 + watchface1_week_span.set_text(msg[3]) #星期 def __signal(self, event, msg): #print("__signal_cb:",str(msg)) @@ -280,206 +198,220 @@ class Watchface1(): #print("__signal_cb:{}".format(msg//8)) if msg: if msg >= 0 and msg<=31 : - self.watchface_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8)) + watchface1_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8)) else : - self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png") + watchface1_mpsignal_img.set_src("E:/static/mpsignal5.png") def __battery(self, event, msg): #print("__battery_cb:",str(msg)) #print(msg) if msg[0] == '1': - self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png") + watchface1_res_stat_charge_in_img.set_src("E:/static/charge_in.png") else: - self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in1.png") + watchface1_res_stat_charge_in_img.set_src("E:/static/charge_in1.png") - self.watchface_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png" + watchface1_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png" pass def __oldHrValue(self, event, msg): - self.watchface1_HB_span.set_text(str(msg)) + watchface1_HB_span.set_text(str(msg)) def __oldSpo2Value(self, event, msg): - self.watchface1_SPO2_span.set_text(str(msg)) + watchface1_SPO2_span.set_text(str(msg)) def __stepValue(self, event, msg): - self.watchface1_step_span.set_text(str(msg)) + watchface1_step_span.set_text(str(msg)) + def Close(self): + pass + def done_left_to_right(self): + EventMesh.publish("load_screen", {"screen": "main_menu"}) -class Watchface2(): - NAME = "Watchface2" - # # #表盘1 - def __init__(self,main_menu): - print("Watchface2:__init__") - - self.meta = lv.obj(main_menu) - self.meta.set_size(240,320) - #self.meta.set_pos(0,0) - self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # # create style watchface_default - # self.watchface_default = lv.style_t() - # self.watchface_default.init() - # self.watchface_default.set_bg_color(lv.color_make(0x00,0x00,0x00)) - # self.watchface_default.set_bg_opa(255) - # add style for watchface - self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) - - # create style style_watchface_img_default - self.style_watchface_img_default = lv.style_t() - self.style_watchface_img_default.init() - self.style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff)) - self.style_watchface_img_default.set_img_recolor_opa(0) - self.style_watchface_img_default.set_img_opa(255) + def done_right_to_left(self): + EventMesh.publish("load_screen", {"screen": "main_menu"}) + def done_top_to_bottom(self): + EventMesh.publish("load_screen", {"screen": "popup"}) - #表盘 - - label_text = lv.label(self.meta) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("0") - #状态栏 - - self.watchface_mpsignal_img = lv.img(self.meta) - self.watchface_mpsignal_img.set_pos(int(20),int(0)) - self.watchface_mpsignal_img.set_size(24,17) - self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png") - self.watchface_mpsignal_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface_res_stat_battery_img = lv.img(self.meta) - self.watchface_res_stat_battery_img.set_pos(int(200),int(0)) - self.watchface_res_stat_battery_img.set_size(30,18) - self.watchface_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_res_stat_battery_img.set_src("E:/static/vbat_100.png") - self.watchface_res_stat_battery_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface_res_stat_charge_in_img = lv.img(self.meta) - self.watchface_res_stat_charge_in_img.set_pos(int(180),int(0)) - self.watchface_res_stat_charge_in_img.set_size(6,16) - self.watchface_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png") - # add style for watchface_res_stat_charge_in_img - self.watchface_res_stat_charge_in_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - # #主图片 - # self.watchface1_bg_img = lv.img(self.meta) - # self.watchface1_bg_img.set_pos(int(0),int(40)) - # self.watchface1_bg_img.set_size(240,280) - # self.watchface1_bg_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_bg_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.watchface1_bg_img.set_src("E:/static/watch_plate/style_1/bg.png") - # self.watchface1_bg_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - #时间 - x = 25 - y = 80 - - - self.watchface1_time1_hour1_text = lv.label(self.meta) - self.watchface1_time1_hour1_text.set_pos(40, 80) - self.watchface1_time1_hour1_text.set_size(50, 70) - self.watchface1_time1_hour1_text.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_time1_hour1_text.set_text("1") - self.watchface1_time1_hour1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_time1_hour2_text = lv.label(self.meta) - self.watchface1_time1_hour2_text.set_pos(90, 80) - self.watchface1_time1_hour2_text.set_size(50, 70) - self.watchface1_time1_hour2_text.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_time1_hour2_text.set_text("2") - self.watchface1_time1_hour2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_time2_min1_text = lv.label(self.meta) - self.watchface1_time2_min1_text.set_pos(40, 156) - self.watchface1_time2_min1_text.set_size(50, 70) - self.watchface1_time2_min1_text.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_time2_min1_text.set_text("0") - self.watchface1_time2_min1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_time2_min2_text = lv.label(self.meta) - self.watchface1_time2_min2_text.set_pos(90, 156) - self.watchface1_time2_min2_text.set_size(50, 70) - self.watchface1_time2_min2_text.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_time2_min2_text.set_text("0") - self.watchface1_time2_min2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) - - - - self.watchface1_date_span = lv.label(self.meta) - self.watchface1_date_span.set_pos(30+56+20+56, 100) - self.watchface1_date_span.set_size(84, 30) - self.watchface1_date_span.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_date_span.set_text("12月9") - self.watchface1_date_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) - #星期 - # self.watchface1_week = lv.spangroup(self.meta) - # self.watchface1_week.set_pos(int(29),int(166)) - # self.watchface1_week.set_size(80,25) - # self.watchface1_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_week.set_align(lv.TEXT_ALIGN.LEFT) - # self.watchface1_week.set_overflow(lv.SPAN_OVERFLOW.CLIP) - # self.watchface1_week.set_mode(lv.SPAN_MODE.BREAK) - # self.watchface1_week_span = self.watchface1_week.new_span() - # self.watchface1_week_span.set_text("星期四") - # self.watchface1_week_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7)) - # self.watchface1_week_span.style.set_text_decor(lv.TEXT_DECOR.NONE) - # self.watchface1_week.refr_mode() - # # add style for main_style_1_spangroup_week - # self.watchface1_week.add_style(self.watchface1_style_default, lv.PART.MAIN|lv.STATE.DEFAULT) - + def done_bottom_to_top(self): + EventMesh.publish("load_screen", {"screen": "call_log"}) - # self.watchface1_week = lv.img(self.meta) - # self.watchface1_week.set_pos(int(30+15),int(y+20+56+56+30)) - # self.watchface1_week.set_size(90,30) - # self.watchface1_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_week.set_src("E:/static/watch_plate/style_2/week/0_week.png") - # self.watchface1_week.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_week_txt = lv.label(self.meta) - self.watchface1_week_txt.set_pos(int(30+15),int(y+20+56+56+30)) - self.watchface1_week_txt.set_size(120,30) - self.watchface1_week_txt.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_week_txt.set_text("星期四") - self.watchface1_week_txt.add_style(style_font_youyuan_40_red, lv.PART.MAIN|lv.STATE.DEFAULT) +# create style style_watchface_img_default +style_watchface_img_default = lv.style_t() +style_watchface_img_default.init() +style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff)) +style_watchface_img_default.set_img_recolor_opa(0) +style_watchface_img_default.set_img_opa(255) - - #天气 - self.watchface1_temp_img = lv.img(self.meta) - self.watchface1_temp_img.set_pos(int(x+56+56+20),int(y+56+20)) - self.watchface1_temp_img.set_size(65,45) - self.watchface1_temp_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.watchface1_temp_img.set_src("E:/static/watch_plate/style_2/0_main2_weather.png") - self.watchface1_temp_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.watchface1_temp_degree = lv.img(self.meta) - # self.watchface1_temp_degree.set_pos(int(x+56+56+65),int(215)) - # self.watchface1_temp_degree.set_size(10,10) - # self.watchface1_temp_degree.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - # self.watchface1_temp_degree.set_src("E:/static/watch_plate/style_2/degree.png") - # self.watchface1_temp_degree.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) - - self.watchface1_temp_txt = lv.label(self.meta) - self.watchface1_temp_txt.set_pos(int(x+56+56+39),int(215)) - self.watchface1_temp_txt.set_size(240-(x+56+56+34),30) - self.watchface1_temp_txt.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_temp_txt.set_text("00°") - self.watchface1_temp_txt.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) +Watchface2 = lv.obj(Watchface) +Watchface2.set_size(240,320) +#Watchface2.set_pos(0,0) +Watchface2.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +Watchface2.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) +#表盘 - - self.watchface1_no_temp_span = lv.label(self.meta) - self.watchface1_no_temp_span.set_pos(30+56+56+20, 176) - self.watchface1_no_temp_span.set_size(80, 30) - self.watchface1_no_temp_span.set_align(lv.TEXT_ALIGN.LEFT) - self.watchface1_no_temp_span.set_text("无数据") - self.watchface1_no_temp_span.clear_flag(lv.obj.FLAG.HIDDEN) - self.watchface1_no_temp_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) +#状态栏 + +watchface2_mpsignal_img = lv.img(Watchface2) +watchface2_mpsignal_img.set_pos(int(20),int(0)) +watchface2_mpsignal_img.set_size(24,17) +watchface2_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface2_mpsignal_img.set_src("E:/static/mpsignal5.png") +watchface2_mpsignal_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface2_res_stat_battery_img = lv.img(Watchface2) +watchface2_res_stat_battery_img.set_pos(int(200),int(0)) +watchface2_res_stat_battery_img.set_size(30,18) +watchface2_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface2_res_stat_battery_img.set_src("E:/static/vbat_100.png") +watchface2_res_stat_battery_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface2_res_stat_charge_in_img = lv.img(Watchface2) +watchface2_res_stat_charge_in_img.set_pos(int(180),int(0)) +watchface2_res_stat_charge_in_img.set_size(6,16) +watchface2_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE) +watchface2_res_stat_charge_in_img.set_src("E:/static/charge_in.png") +# add style for watchface_res_stat_charge_in_img +watchface2_res_stat_charge_in_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) +style_font_youyuan_70_red = lv.style_t() +style_font_youyuan_70_red.init() +style_font_youyuan_70_red.set_text_color(lv.color_make(0xe5, 0x37, 0x29)) +style_font_youyuan_70_red.set_text_font(lv.font_70_bold) +#时间 +x = 30 +y = 80 +watchface2_time1_hour1_text = lv.label(Watchface2) +watchface2_time1_hour1_text.set_pos(40, 80) +watchface2_time1_hour1_text.set_size(50, 70) +watchface2_time1_hour1_text.set_align(lv.TEXT_ALIGN.LEFT) +watchface2_time1_hour1_text.set_text("1") +watchface2_time1_hour1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface2_time1_hour2_text = lv.label(Watchface2) +watchface2_time1_hour2_text.set_pos(90, 80) +watchface2_time1_hour2_text.set_size(50, 70) +watchface2_time1_hour2_text.set_align(lv.TEXT_ALIGN.LEFT) +watchface2_time1_hour2_text.set_text("2") +watchface2_time1_hour2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface2_time2_min1_text = lv.label(Watchface2) +watchface2_time2_min1_text.set_pos(40, 156) +watchface2_time2_min1_text.set_size(50, 70) +watchface2_time2_min1_text.set_align(lv.TEXT_ALIGN.LEFT) +watchface2_time2_min1_text.set_text("0") +watchface2_time2_min1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface2_time2_min2_text = lv.label(Watchface2) +watchface2_time2_min2_text.set_pos(90, 156) +watchface2_time2_min2_text.set_size(50, 70) +watchface2_time2_min2_text.set_align(lv.TEXT_ALIGN.LEFT) +watchface2_time2_min2_text.set_text("0") +watchface2_time2_min2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT) + +# create style watchface2_style_default +watchface2_style_default = lv.style_t() +watchface2_style_default.init() +watchface2_style_default.set_radius(0) +watchface2_style_default.set_bg_color(lv.color_make(0x21,0x95,0xf6)) +watchface2_style_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6)) +watchface2_style_default.set_bg_grad_dir(lv.GRAD_DIR.NONE) +watchface2_style_default.set_bg_opa(0) +watchface2_style_default.set_border_color(lv.color_make(0x00,0x00,0x00)) +watchface2_style_default.set_border_width(0) +watchface2_style_default.set_border_opa(255) +watchface2_style_default.set_pad_left(0) +watchface2_style_default.set_pad_right(0) +watchface2_style_default.set_pad_top(0) +watchface2_style_default.set_pad_bottom(0) +watchface2_style_default.set_text_font_v2("font_22.bin",22,0) #将外部字体库与该style对象绑定 + + +#日期 +watchface2_date = lv.spangroup(Watchface2) +watchface2_date.set_pos(int(30+56+20+56),int(100)) +watchface2_date.set_size(84,25) +watchface2_date.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_date.set_align(lv.TEXT_ALIGN.LEFT) +watchface2_date.set_overflow(lv.SPAN_OVERFLOW.CLIP) +watchface2_date.set_mode(lv.SPAN_MODE.BREAK) +watchface2_date_span = watchface2_date.new_span() +watchface2_date_span.set_text("12月9") +watchface2_date_span.style.set_text_color(lv.color_make(0xe0,0xd7,0xd7)) +watchface2_date_span.style.set_text_decor(lv.TEXT_DECOR.NONE) +watchface2_date_span.style.set_size(100) +watchface2_date.refr_mode() + +# add style for main_style_1_spangroup_date +watchface2_date.add_style(watchface2_style_default, lv.PART.MAIN|lv.STATE.DEFAULT) +#星期 + + +watchface2_week = lv.img(Watchface2) +watchface2_week.set_pos(int(30+15),int(y+20+56+56+30)) +watchface2_week.set_size(90,30) +watchface2_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_week.set_src("E:/static/watch_plate/style_2/week/0_week.png") +watchface2_week.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + + + +#天气 +watchface2_temp_img = lv.img(Watchface2) +watchface2_temp_img.set_pos(int(x+56+56+20),int(y+56+20)) +watchface2_temp_img.set_size(65,45) +watchface2_temp_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_temp_img.set_src("E:/static/watch_plate/style_2/0_main2_weather.png") +watchface2_temp_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface2_temp_degree = lv.img(Watchface2) +watchface2_temp_degree.set_pos(int(x+56+56+65),int(215)) +watchface2_temp_degree.set_size(10,10) +watchface2_temp_degree.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_temp_degree.set_src("E:/static/watch_plate/style_2/degree.png") +watchface2_temp_degree.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +watchface2_temp_txt = lv.label(Watchface2) +watchface2_temp_txt.set_pos(int(x+56+56+39),int(215)) +watchface2_temp_txt.set_size(240-(x+56+56+34),30) +watchface2_temp_txt.set_align(lv.TEXT_ALIGN.LEFT) +watchface2_temp_txt.set_text("00") +watchface2_temp_txt.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT) + + +watchface2_no_temp_txt = lv.spangroup(Watchface2) +watchface2_no_temp_txt.set_pos(int(30+56+56+20),int(176)) +watchface2_no_temp_txt.set_size(80,30) +watchface2_no_temp_txt.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +watchface2_no_temp_txt.set_align(lv.TEXT_ALIGN.LEFT) +watchface2_no_temp_txt.set_overflow(lv.SPAN_OVERFLOW.CLIP) +watchface2_no_temp_txt.set_mode(lv.SPAN_MODE.BREAK) +watchface2_no_temp_span = watchface2_no_temp_txt.new_span() +watchface2_no_temp_span.set_text("无数据") +watchface2_no_temp_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7)) +watchface2_no_temp_span.style.set_text_decor(lv.TEXT_DECOR.NONE) +#watchface2_week_step_span.style.set_text_font(lv.font_harmony_19) +watchface2_no_temp_txt.refr_mode() +watchface2_no_temp_txt.add_flag(lv.obj.FLAG.HIDDEN) +# add style for main_style_1_spangroup_week +watchface2_no_temp_txt.add_style(watchface2_style_default, lv.PART.MAIN|lv.STATE.DEFAULT) + +class WatchFace2(): + NAME = "Watchface2" + # # #表盘2 + def __init__(self): + print("Watchface2:__init__") + self.meta = Watchface2 - def initialization(self): + + def initialization(self,main_menu): + print("Watchface2:initialization") + Watchface2.set_parent(main_menu)#设置父控件 #获取信号 signal = EventMesh.publish("screen_get_sig") if signal: @@ -509,13 +441,11 @@ class Watchface2(): self.__weather_value(None,None) else: self.__weather_value(None,temp) - else: - self.__weather_type(None,None) - self.__weather_value(None,None) else: self.__weather_type(None,None) self.__weather_value(None,None) + def timerout_update(self): #获取信号 signal = EventMesh.publish("screen_get_sig") @@ -543,14 +473,10 @@ class Watchface2(): self.__weather_type(None,type) temp = self.weather_data[4] - if temp == None: self.__weather_value(None,None) else: self.__weather_value(None,temp) - else: - self.__weather_type(None,None) - self.__weather_value(None,None) else: self.__weather_type(None,None) self.__weather_value(None,None) @@ -561,20 +487,13 @@ class Watchface2(): hour2_chose = (msg[0][0])%10 min1_chose = (msg[0][1])//10%10 min2_chose = (msg[0][1])%10 - # self.watchface1_time1_text.set_text("{}".format("%02d"%(msg[0][0]))) - # self.watchface1_time2_text.set_text("{}".format("%02d"%(msg[0][1]))) - self.watchface1_time1_hour1_text.set_text("{}".format("%d"%(hour1_chose))) - self.watchface1_time1_hour2_text.set_text("{}".format("%d"%(hour2_chose))) - self.watchface1_time2_min1_text.set_text("{}".format("%d"%(min1_chose))) - self.watchface1_time2_min2_text.set_text("{}".format("%d"%(min2_chose))) - - # self.watchface1_time1_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(hour1_chose)) - # self.watchface1_time2_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(hour2_chose)) - # self.watchface1_time4_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(min1_chose)) - # self.watchface1_time5_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(min2_chose)) - self.watchface1_date_span.set_text(msg[2])#日期 - self.watchface1_week_txt.set_text(msg[3]) - # self.watchface1_week.set_src("E:/static/watch_plate/style_2/week/%d_week.png"%(msg[5])) #星期 + # watchface2_time1_text.set_text("{}:{}".format("%02d"%(msg[0][0]),"%02d"%(msg[0][1]))) + watchface2_time1_hour1_text.set_text("{}".format("%d"%(hour1_chose))) + watchface2_time1_hour2_text.set_text("{}".format("%d"%(hour2_chose))) + watchface2_time2_min1_text.set_text("{}".format("%d"%(min1_chose))) + watchface2_time2_min2_text.set_text("{}".format("%d"%(min2_chose))) + watchface2_date_span.set_text(msg[2])#日期 + watchface2_week.set_src("E:/static/watch_plate/style_2/week/%d_week.png"%(msg[5])) #星期 def __signal(self, event, msg): #print("__signal_cb:",str(msg)) @@ -582,55 +501,65 @@ class Watchface2(): #print("__signal_cb:{}".format(msg//8)) if msg: if msg >= 0 and msg<=31 : - self.watchface_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8)) + watchface2_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8)) else : - self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png") + watchface2_mpsignal_img.set_src("E:/static/mpsignal5.png") def __battery(self, event, msg): #print("__battery_cb:",str(msg)) #print(msg) if msg[0] == '1': - self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png") + watchface2_res_stat_charge_in_img.set_src("E:/static/charge_in.png") else: - self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in1.png") + watchface2_res_stat_charge_in_img.set_src("E:/static/charge_in1.png") - self.watchface_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png" + watchface2_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png" pass def __weather_type(self, event, msg): if msg == None: - self.watchface1_temp_img.add_flag(lv.obj.FLAG.HIDDEN) - self.watchface1_no_temp_span.clear_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_img.add_flag(lv.obj.FLAG.HIDDEN) + watchface2_no_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN) else: type = int(msg) - self.watchface1_no_temp_span.add_flag(lv.obj.FLAG.HIDDEN) - self.watchface1_temp_img.clear_flag(lv.obj.FLAG.HIDDEN) - self.watchface1_temp_img.set_src("E:/static/watch_plate/style_2/%d_main2_weather.png"%(type)) + watchface2_no_temp_txt.add_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_img.clear_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_img.set_src("E:/static/watch_plate/style_2/%d_main2_weather.png"%(type)) def __weather_value(self, event, msg): if msg == None: - # self.watchface1_temp_degree.add_flag(lv.obj.FLAG.HIDDEN) - self.watchface1_temp_txt.add_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_degree.add_flag(lv.obj.FLAG.HIDDEN) + watchface2_no_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_txt.add_flag(lv.obj.FLAG.HIDDEN) else: - self.watchface1_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN) - # self.watchface1_temp_degree.clear_flag(lv.obj.FLAG.HIDDEN) - self.watchface1_temp_txt.set_text(str(msg)+"°") - + watchface2_no_temp_txt.add_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_degree.clear_flag(lv.obj.FLAG.HIDDEN) + watchface2_temp_txt.set_text(str(msg)) + + def Close(self): + pass + def done_left_to_right(self): + EventMesh.publish("load_screen", {"screen": "main_menu"}) + def done_right_to_left(self): + EventMesh.publish("load_screen", {"screen": "main_menu"}) + def done_top_to_bottom(self): + EventMesh.publish("load_screen", {"screen": "popup"}) + def done_bottom_to_top(self): + EventMesh.publish("load_screen", {"screen": "call_log"}) class WatchFace(): - NAME = "main_menu" + #NAME = "Watchface" - def __init__(self,main_menu): + def __init__(self): #表盘 - self.watchface_list = [] self.meta = None self.watchface_style_num = "Watchface1" + self.watchface_list = [] self.timer_update = osTimer() - self.main_menu = main_menu - self.watchface_style = "Watchface1" EventMesh.subscribe("set_change_face", self.change_face) self.read_data = {} self.PWM_backlight = None @@ -647,38 +576,54 @@ class WatchFace(): else: self.watchface_style_num = "Watchface1" - def initialization(self): - print("watchface INIT !!!!!!!!:",self.watchface_style_num) + def initialization(self,main_menu): if self.watchface_list == [] : #第一次初始化 - self.watchface_list.append( Watchface1(self.main_menu)) - self.watchface_list.append( Watchface2(self.main_menu)) + self.watchface_list.append( WatchFace1()) + self.watchface_list.append( WatchFace2()) + print("watchface INIT !!!!!!!!:",self.watchface_style_num) for wat in self.watchface_list: if wat.NAME == self.watchface_style_num : self.watchface_style = wat - wat.meta.add_flag(lv.obj.FLAG.HIDDEN) #隐藏 + wat.meta.add_flag(lv.obj.FLAG.HIDDEN) #隐藏 + self.watchface_style.initialization(main_menu) self.meta = self.watchface_style.meta self.watchface_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示 - self.watchface_style.initialization() self.timer_update.start(10000, 1, self.timerout_update) - + + def timerout_update(self, *args, **kwargs): + self.watchface_style.timerout_update() def change_face(self, event=None, msg=None): print("change_face :",msg) - self.watchface_style_num = str(msg) - for wat in self.watchface_list: - if wat.NAME == self.watchface_style_num : - self.watchface_style = wat - wat.meta.add_flag(lv.obj.FLAG.HIDDEN) #隐藏 - self.meta = self.watchface_style.meta - self.watchface_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示 - self.watchface_style.initialization() - def timerout_update(self, *args, **kwargs): - self.watchface_style.timerout_update() + EventMesh.publish("load_screen", {"screen": "main_menu"}) + + # def done_left_to_right(self): + # EventMesh.publish("load_screen", {"screen": "main_menu"}) + + # def done_right_to_left(self): + # EventMesh.publish("load_screen", {"screen": "main_menu"}) + # def done_top_to_bottom(self): + # EventMesh.publish("load_screen", {"screen": "popup"}) + + # def done_bottom_to_top(self): + # EventMesh.publish("load_screen", {"screen": "call_log"}) + # def done_return(self): + # EventMesh.publish("load_screen", {"screen": "Watchface"}) + + # def btn1_release(self): + # EventMesh.publish("load_screen", {"screen": "Watchface"}) + # def btn8_press(self): + # EventMesh.publish("load_screen", {"screen": "Watchface"}) + def Close(self): print("watchface Close !!!!!!!!") self.timer_update.stop() + self.watchface_style.Close() return + + + diff --git a/3.code/1.watch/2.code/ui_main_menu.py b/3.code/1.watch/2.code/ui_main_menu.py index 4710755e..145b9d96 100644 --- a/3.code/1.watch/2.code/ui_main_menu.py +++ b/3.code/1.watch/2.code/ui_main_menu.py @@ -44,93 +44,298 @@ style_btn.set_shadow_opa(0) style_btn.set_border_width(0) -style_font_youyuan_font_60 = lv.style_t() -style_font_youyuan_font_60.init() -style_font_youyuan_font_60.set_text_color(lv.color_make(0xFF, 0xFF, 0xFF)) -style_font_youyuan_font_60.set_text_font(lv.font_60_main_menu) +# MainMenu = lv.obj() +# class MainMenuScreen(Screen): +# NAME = "main_menu" + +# def __init__(self): +# super().__init__() +# #主菜单 +# self.meta = MainMenu +# self.main_menu_style_num = "MainMenu2" + +# def initialization(self): +# print("main_menu INIT !!!!!!!!") +# EventMesh.publish("load_screen", {"screen": self.main_menu_style_num}) + + +# def post_processor_after_instantiation(self): +# EventMesh.subscribe("change_style", self.change_style) + + +# def change_style(self, event=None, msg=None): #换风格 +# self.main_menu_style_num = msg +# EventMesh.publish("load_screen", {"screen": self.main_menu_style_num}) + +# def Close(self): +# return + + +# def done_return(self): +# EventMesh.publish("load_screen", {"screen": "Watchface"}) + +# def btn1_release(self): +# EventMesh.publish("load_screen", {"screen": "Watchface"}) + +# def btn8_press(self): +# EventMesh.publish("load_screen", {"screen": "Watchface"}) + + + + + + +MainMenu2 = lv.obj() +MainMenu2_til = lv.tileview(MainMenu2) +MainMenu2_til.set_scrollbar_mode(0) +MainMenu2_til.add_style(style_MainMenu_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT) +#表盘 +MainMenu2_Watchface = MainMenu2_til.add_tile(0, 1, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_Watchface) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("0") +#支付宝 +MainMenu2_alipay = MainMenu2_til.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_alipay) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("1") +MainMenu2_img_alipay = lv.img(MainMenu2_alipay) +MainMenu2_img_alipay.set_size(160,160) +MainMenu2_img_alipay.set_pos(40,20) +MainMenu2_img_alipay.set_src("E:/static/main_menu/main_menu2/alipay_.png") +MainMenu2_img_alipay.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_alipay.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_alipay_text = lv.img(MainMenu2_alipay) +MainMenu2_img_alipay_text.set_size(160,39) +MainMenu2_img_alipay_text.set_pos(40,210) +MainMenu2_img_alipay_text.set_src("E:/static/main_menu/main_menu2/alipay_TEXT.png") +MainMenu2_img_alipay_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_alipay_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) +# label_alipay.set_long_mode(lv.label.LONG.WRAP) +# label_alipay.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +# label_alipay.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) +#拨号盘 +MainMenu2_phone = MainMenu2_til.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_phone) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("2") +MainMenu2_img_phone = lv.img(MainMenu2_phone) +MainMenu2_img_phone.set_size(160,160) +MainMenu2_img_phone.set_pos(40,20) +MainMenu2_img_phone.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.png") +MainMenu2_img_phone.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_phone.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_phone_text = lv.img(MainMenu2_phone) +MainMenu2_img_phone_text.set_size(160,39) +MainMenu2_img_phone_text.set_pos(40,210) +MainMenu2_img_phone_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL_TEXT.png") +MainMenu2_img_phone_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_phone_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#通讯录 +MainMenu2_contacts = MainMenu2_til.add_tile(2, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_contacts) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("3") +MainMenu2_img_contacts = lv.img(MainMenu2_contacts) +MainMenu2_img_contacts.set_size(160,160) +MainMenu2_img_contacts.set_pos(40,20) +MainMenu2_img_contacts.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.png") +MainMenu2_img_contacts.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_contacts.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_contacts_text = lv.img(MainMenu2_contacts) +MainMenu2_img_contacts_text.set_size(160,39) +MainMenu2_img_contacts_text.set_pos(40,210) +MainMenu2_img_contacts_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS_TEXT.png") +MainMenu2_img_contacts_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_contacts_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#心律检测 +MainMenu2_heartrate = MainMenu2_til.add_tile(3, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_heartrate) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("4") +MainMenu2_img_heartrate = lv.img(MainMenu2_heartrate) +MainMenu2_img_heartrate.set_size(160,160) +MainMenu2_img_heartrate.set_pos(40,20) +MainMenu2_img_heartrate.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.png") +MainMenu2_img_heartrate.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_heartrate.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_heartrate_text = lv.img(MainMenu2_heartrate) +MainMenu2_img_heartrate_text.set_size(160,39) +MainMenu2_img_heartrate_text.set_pos(40,210) +MainMenu2_img_heartrate_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT_TEXT.png") +MainMenu2_img_heartrate_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_heartrate_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#血样检测 +MainMenu2_spo2 = MainMenu2_til.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_spo2) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("5") +MainMenu2_img_spo2 = lv.img(MainMenu2_spo2) +MainMenu2_img_spo2.set_size(160,160) +MainMenu2_img_spo2.set_pos(40,20) +MainMenu2_img_spo2.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.png") +MainMenu2_img_spo2.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_spo2.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_spo2_text = lv.img(MainMenu2_spo2) +MainMenu2_img_spo2_text.set_size(160,39) +MainMenu2_img_spo2_text.set_pos(40,210) +MainMenu2_img_spo2_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT_TEXT.png") +MainMenu2_img_spo2_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_spo2_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#工具箱 +MainMenu2_toolbox = MainMenu2_til.add_tile(5, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_toolbox) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("6") +MainMenu2_img_toolbox = lv.img(MainMenu2_toolbox) +MainMenu2_img_toolbox.set_size(160,160) +MainMenu2_img_toolbox.set_pos(40,20) +MainMenu2_img_toolbox.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.png") +MainMenu2_img_toolbox.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_toolbox.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_toolbox_text = lv.img(MainMenu2_toolbox) +MainMenu2_img_toolbox_text.set_size(160,39) +MainMenu2_img_toolbox_text.set_pos(40,210) +MainMenu2_img_toolbox_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS_TEXT.png") +MainMenu2_img_toolbox_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_toolbox_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#设置 +MainMenu2_setting = MainMenu2_til.add_tile(6, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_setting) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("7") +MainMenu2_img_setting = lv.img(MainMenu2_setting) +MainMenu2_img_setting.set_size(160,160) +MainMenu2_img_setting.set_pos(40,20) +MainMenu2_img_setting.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.png") +MainMenu2_img_setting.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_setting.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_setting_text = lv.img(MainMenu2_setting) +MainMenu2_img_setting_text.set_size(160,39) +MainMenu2_img_setting_text.set_pos(40,210) +MainMenu2_img_setting_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS_TEXT.png") +MainMenu2_img_setting_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_setting_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#体温测量 +MainMenu2_temperature = MainMenu2_til.add_tile(7, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_temperature) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("8") +MainMenu2_img_temperature = lv.img(MainMenu2_temperature) +MainMenu2_img_temperature.set_size(160,160) +MainMenu2_img_temperature.set_pos(40,20) +MainMenu2_img_temperature.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.png") +MainMenu2_img_temperature.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_temperature.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_temperature_text = lv.img(MainMenu2_temperature) +MainMenu2_img_temperature_text.set_size(160,39) +MainMenu2_img_temperature_text.set_pos(40,210) +MainMenu2_img_temperature_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE_TEXT.png") +MainMenu2_img_temperature_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_temperature_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + + +#微聊 +MainMenu2_wechat = MainMenu2_til.add_tile(8, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +label_text = lv.label(MainMenu2_wechat) +label_text.set_pos(0, 240) +label_text.set_size(0, 0) +label_text.set_text("9") +MainMenu2_img_wechat = lv.img(MainMenu2_wechat) +MainMenu2_img_wechat.set_size(160,160) +MainMenu2_img_wechat.set_pos(40,20) +MainMenu2_img_wechat.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.png") +MainMenu2_img_wechat.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_wechat.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) + +MainMenu2_img_wechat_text = lv.img(MainMenu2_wechat) +MainMenu2_img_wechat_text.set_size(160,39) +MainMenu2_img_wechat_text.set_pos(40,210) +MainMenu2_img_wechat_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT_TEXT.png") +MainMenu2_img_wechat_text.add_flag(lv.obj.FLAG.CLICKABLE) +MainMenu2_img_wechat_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) from ext.ui_WatchFaceScreen import WatchFace +#主菜单风格2,单页 class MainMenuScreen(Screen): NAME = "main_menu" - - def __init__(self): - super().__init__() - #主菜单 - self.main_menu_list = [] - self.meta = None - self.button_state = 0 - self.main_menu_style_num = "MainMenu2" - self.main_menu_WatchFace = None - EventMesh.subscribe("watch_top_show", self.watch_top_show) + def __init__(self): + self.meta = MainMenu2 + self.watchface = WatchFace() + self.menu_id = 0 + print("MainMenu1:__init__") + MainMenu2_img_phone.add_event_cb(lambda e: self.img_cb(e, "Phone"), lv.EVENT.CLICKED, None) + MainMenu2_img_toolbox.add_event_cb(lambda e: self.img_cb(e, "toolbox"), lv.EVENT.CLICKED, None) + MainMenu2_img_setting.add_event_cb(lambda e: self.img_cb(e, "setting"), lv.EVENT.CLICKED, None) + MainMenu2_img_heartrate.add_event_cb(lambda e: self.img_cb(e, "heartrate"), lv.EVENT.CLICKED, None) + MainMenu2_img_contacts.add_event_cb(lambda e: self.img_cb(e, "contacts"), lv.EVENT.CLICKED, None) + MainMenu2_img_wechat.add_event_cb(lambda e: self.img_cb(e, "wechat"), lv.EVENT.CLICKED, None) + MainMenu2_img_spo2.add_event_cb(lambda e: self.img_cb(e, "spo2"), lv.EVENT.CLICKED, None) + MainMenu2_img_temperature.add_event_cb(lambda e: self.img_cb(e, "temperature"), lv.EVENT.CLICKED, None) + MainMenu2_img_alipay.add_event_cb(lambda e: self.img_cb(e, "alipay_open"), lv.EVENT.CLICKED, None) + #MainMenu2_img_alipay.add_event_cb(lambda e: img_cb(e, "Watchface_set"), lv.EVENT.CLICKED, None) + MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF) def initialization(self): - print("main_menu INIT !!!!!!!!") - init_flag = False - self.button_state = 0 - if self.main_menu_list == [] : #第一次初始化 - #self.main_menu_list.append( MainMenu1()) - self.main_menu_list.append( MainMenu2()) - init_flag = True - for menu in self.main_menu_list: - if menu.NAME == self.main_menu_style_num : - self.main_menu_style = menu - menu.meta.add_flag(lv.obj.FLAG.HIDDEN) #隐藏 - - self.main_menu_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示 - if self.main_menu_WatchFace == None : #加载表盘 - self.main_menu_WatchFace = WatchFace(self.main_menu_style.MainMenu_Watchface) - self.main_menu_WatchFace.initialization()#初始化表盘 - self.meta = self.main_menu_style.meta - self.main_menu_style.initialization()#初始化菜单 - if init_flag == True : - self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF) - - def post_processor_after_instantiation(self): - EventMesh.subscribe("change_style", self.change_style) + self.watchface.initialization(MainMenu2_Watchface) + EventMesh.subscribe("watch_top_show", self.watch_top_show) + # if self.meta_info in globals() : + # MainMenu2_til.set_tile_id(self.meta_info[0],self.meta_info[1],lv.ANIM.OFF) + pass# def watch_top_show(self, event, msg): # - self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF) - def change_style(self, event=None, msg=None): #换风格 - print("change style :",msg) - self.Close() - self.main_menu_WatchFace.delete() - self.main_menu_style_num = msg - for menu in self.main_menu_list: - if menu.NAME == self.main_menu_style_num : - self.main_menu_style = menu - menu.meta.add_flag(lv.obj.FLAG.HIDDEN) #隐藏 - - self.main_menu_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示 - - self.main_menu_WatchFace = WatchFace(self.main_menu_style.MainMenu_Watchface) - self.main_menu_WatchFace.initialization()#初始化表盘 - self.meta = self.main_menu_style.meta - self.main_menu_style.initialization()#初始化菜单 - self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF) - def Close(self): - self.main_menu_WatchFace.Close() - print("main_menu Close !!!!!!!!") - return - + def img_cb(self, e, msg): + print("MainMenu2:img_cb:{}".format(msg)) + EventMesh.publish("load_screen", {"screen": "{}".format(msg)}) def done_return(self): - self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF) def btn1_release(self): flag = EventMesh.publish("get_lcd_state") if flag == 0: EventMesh.publish(constants.EVENT.SYSTEM_UP) else: - if self.main_menu_style.MainMenu.get_tile_act() != None: - id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text() + if MainMenu2_til.get_tile_act() != None: + id = MainMenu2_til.get_tile_act().get_child(0).get_text() if id != "0": - self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF) def btn8_press(self): flag = EventMesh.publish("get_lcd_state") - if self.main_menu_style.MainMenu.get_tile_act() != None: - id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text() + if MainMenu2_til.get_tile_act() != None: + id = MainMenu2_til.get_tile_act().get_child(0).get_text() if id == "0": if flag == 1: EventMesh.publish(constants.EVENT.SYSTEM_SLEEP) @@ -138,578 +343,43 @@ class MainMenuScreen(Screen): EventMesh.publish(constants.EVENT.SYSTEM_UP) else: if flag == 1: - self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF) else: EventMesh.publish(constants.EVENT.SYSTEM_UP) else: if flag == 1: - self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF) else: EventMesh.publish(constants.EVENT.SYSTEM_UP) def done_bottom_to_top(self): - id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text() + id = MainMenu2_til.get_tile_act().get_child(0).get_text() if id == "0": EventMesh.publish("load_screen", {"screen": "call_log"}) def done_top_to_bottom(self): - id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text() + id = MainMenu2_til.get_tile_act().get_child(0).get_text() if id == "0": EventMesh.publish("load_screen", {"screen": "popup"}) def done_left_to_right(self): - id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text() + id = MainMenu2_til.get_tile_act().get_child(0).get_text() print("done_left_to_right:ID{}".format(id)) if id == "0": - self.main_menu_style.MainMenu.set_tile_id(8,0,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(8,0,lv.ANIM.OFF) elif self.menu_id != '2' and id == '1': - self.main_menu_style.MainMenu.set_tile_id(8,0,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(8,0,lv.ANIM.OFF) self.menu_id = id def done_right_to_left(self): - id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text() + id = MainMenu2_til.get_tile_act().get_child(0).get_text() print("done_right_to_left:ID{}".format(id)) if id == "0": - self.main_menu_style.MainMenu.set_tile_id(0,0,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF) elif (self.menu_id != '8' ) and id == '9': - self.main_menu_style.MainMenu.set_tile_id(0,0,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF) self.menu_id = id -#主菜单风格1,四宫格 -class MainMenu1(): - NAME = "MainMenu1" - def __init__(self): - print("MainMenuSquare:__init__") - self.meta = lv.obj() - self.MainMenu = lv.tileview(self.meta) - self.MainMenu.set_scrollbar_mode(0) - self.MainMenu.add_style(style_MainMenu_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - #第一页 - self.MainMenu1_1 = self.MainMenu.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - - # #闹钟 - self.MainMenu1_img_alarm = lv.btn(self.MainMenu1_1) - self.MainMenu1_img_alarm.set_size(70, 70) - self.MainMenu1_img_alarm.set_pos(30,60) - self.MainMenu1_img_alarm.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_alarm.add_event_cb(lambda e: self.img_cb(e, "Phone"), lv.EVENT.CLICKED, None) - - # #支付宝 - self.MainMenu1_img_ali = lv.btn(self.MainMenu1_1) - self.MainMenu1_img_ali.set_size(70, 70) - self.MainMenu1_img_ali.set_pos(140,60) - self.MainMenu1_img_ali.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_ali.add_event_cb(lambda e: self.img_cb(e, "alipay_open"), lv.EVENT.CLICKED, None) - - # #拍照 - self.MainMenu1_img_camera = lv.btn(self.MainMenu1_1) - self.MainMenu1_img_camera.set_size(70, 70) - self.MainMenu1_img_camera.set_pos(30,190) - self.MainMenu1_img_camera.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_camera.add_event_cb(lambda e: self.img_cb(e, "Phone"), lv.EVENT.CLICKED, None) - - # #倒计时 - self.MainMenu1_img_countdown = lv.btn(self.MainMenu1_1) - self.MainMenu1_img_countdown.set_size(70, 70) - self.MainMenu1_img_countdown.set_pos(140,190) - self.MainMenu1_img_countdown.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_countdown.add_event_cb(lambda e: self.img_cb(e, "countdown"), lv.EVENT.CLICKED, None) - - #第一页图片 - self.MainMenu1_1_img = lv.img(self.MainMenu1_1) - self.MainMenu1_1_img.set_size(240, 200) - self.MainMenu1_1_img.set_pos(0,60) - self.MainMenu1_1_img.set_src("E:/static/main_menu/main_menu1/4-1.png") - self.MainMenu1_1_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - - - - - #第二页 - self.MainMenu1_2 = self.MainMenu.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - - # #通话 - self.MainMenu1_img_call = lv.btn(self.MainMenu1_2) - self.MainMenu1_img_call.set_size(70, 70) - self.MainMenu1_img_call.set_pos(30,60) - self.MainMenu1_img_call.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_call.add_event_cb(lambda e: self.img_cb(e, "Phone"), lv.EVENT.CLICKED, None) - - # #心率 - self.MainMenu1_img_hr = lv.btn(self.MainMenu1_2) - self.MainMenu1_img_hr.set_size(70, 70) - self.MainMenu1_img_hr.set_pos(140,60) - self.MainMenu1_img_hr.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_hr.add_event_cb(lambda e: self.img_cb(e, "heartrate"), lv.EVENT.CLICKED, None) - - # #血氧 - self.MainMenu1_img_spo2 = lv.btn(self.MainMenu1_2) - self.MainMenu1_img_spo2.set_size(70, 70) - self.MainMenu1_img_spo2.set_pos(30,190) - self.MainMenu1_img_spo2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu1_img_spo2.add_event_cb(lambda e: self.img_cb(e, "spo2"), lv.EVENT.CLICKED, None) - - # #短信 - self.MainMenu1_img_sms = lv.btn(self.MainMenu1_2) - self.MainMenu1_img_sms.set_size(70, 70) - self.MainMenu1_img_sms.set_pos(140,190) - self.MainMenu1_img_sms.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu1_img_sms.add_event_cb(lambda e: self.img_cb(e, "popup"), lv.EVENT.CLICKED, None) - - #第二页图片 - self.MainMenu1_2_img = lv.img(self.MainMenu1_2) - self.MainMenu1_2_img.set_size(240, 200) - self.MainMenu1_2_img.set_pos(0,60) - self.MainMenu1_2_img.set_src("E:/static/main_menu/main_menu1/4-2.png") - self.MainMenu1_2_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - #第三页 - self.MainMenu1_3 = self.MainMenu.add_tile(2, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - - #第三页图片 - self.MainMenu1_3_img = lv.img(self.MainMenu1_3) - self.MainMenu1_3_img.set_size(240, 200) - self.MainMenu1_3_img.set_pos(0,60) - self.MainMenu1_3_img.set_src("E:/static/main_menu/main_menu1/4-3.png") - self.MainMenu1_3_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - # #通讯录 - self.MainMenu1_img_contacts = lv.btn(self.MainMenu1_3) - self.MainMenu1_img_contacts.set_size(70, 70) - self.MainMenu1_img_contacts.set_pos(30,60) - self.MainMenu1_img_contacts.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_contacts.add_event_cb(lambda e: self.img_cb(e, "contacts"), lv.EVENT.CLICKED, None) - - # #照片 - self.MainMenu1_img_photo = lv.btn(self.MainMenu1_3) - self.MainMenu1_img_photo.set_size(70, 70) - self.MainMenu1_img_photo.set_pos(140,60) - self.MainMenu1_img_photo.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_photo.add_event_cb(lambda e: self.img_cb(e, "Phone"), lv.EVENT.CLICKED, None) - - # #设置 - self.MainMenu1_img_setting = lv.btn(self.MainMenu1_3) - self.MainMenu1_img_setting.set_size(70, 70) - self.MainMenu1_img_setting.set_pos(30,190) - self.MainMenu1_img_setting.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_setting.add_event_cb(lambda e: self.img_cb(e, "setting"), lv.EVENT.CLICKED, None) - - # #步数 - self.MainMenu1_img_steps = lv.btn(self.MainMenu1_3) - self.MainMenu1_img_steps.set_size(70, 70) - self.MainMenu1_img_steps.set_pos(30,190) - self.MainMenu1_img_steps.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_steps.add_event_cb(lambda e: self.img_cb(e, "step"), lv.EVENT.CLICKED, None) - - #第四页 - self.MainMenu1_4 = self.MainMenu.add_tile(3, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - - #第四页图片 - self.MainMenu1_4_img = lv.img(self.MainMenu1_4) - self.MainMenu1_4_img.set_size(240, 200) - self.MainMenu1_4_img.set_pos(0,60) - self.MainMenu1_4_img.set_src("E:/static/main_menu/main_menu1/4-4.png") - self.MainMenu1_4_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - # #秒表 - self.MainMenu1_img_stopwatch = lv.btn(self.MainMenu1_4) - self.MainMenu1_img_stopwatch.set_size(70, 70) - self.MainMenu1_img_stopwatch.set_pos(30,60) - self.MainMenu1_img_stopwatch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_stopwatch.add_event_cb(lambda e: self.img_cb(e, "stopwatch"), lv.EVENT.CLICKED, None) - - # #天气 - self.MainMenu1_img_weather = lv.btn(self.MainMenu1_4) - self.MainMenu1_img_weather.set_size(70, 70) - self.MainMenu1_img_weather.set_pos(140,60) - self.MainMenu1_img_weather.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu1_img_weather.add_event_cb(lambda e: self.img_cb(e, "weather"), lv.EVENT.CLICKED, None) - - # #工具箱 - self.MainMenu1_img_toolbox = lv.btn(self.MainMenu1_4) - self.MainMenu1_img_toolbox.set_size(70, 70) - self.MainMenu1_img_toolbox.set_pos(30,190) - self.MainMenu1_img_toolbox.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu1_img_toolbox.add_event_cb(lambda e: self.img_cb(e, "toolbox"), lv.EVENT.CLICKED, None) - - - # #温度 - self.MainMenu1_img_tem = lv.btn(self.MainMenu1_4) - self.MainMenu1_img_tem.set_size(70, 70) - self.MainMenu1_img_tem.set_pos(140,190) - self.MainMenu1_img_tem.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu1_img_tem.add_event_cb(lambda e: self.img_cb(e, "temperature"), lv.EVENT.CLICKED, None) - - #第五页 - self.MainMenu1_5 = self.MainMenu.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - - #微聊 - self.MainMenu1_img_wechat = lv.img(self.MainMenu1_5) - self.MainMenu1_img_wechat.set_size(70, 70) - self.MainMenu1_img_wechat.set_pos(30,60) - self.MainMenu1_img_wechat.set_src("E:/static/main_menu/main_menu1/IMAGE_MAINMENU_WECHAT.png") - self.MainMenu1_img_wechat.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu1_img_wechat.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - self.MainMenu1_img_wechat.add_event_cb(lambda e: self.img_cb(e, "wechat"), lv.EVENT.CLICKED, None) - - - def initialization(self): - pass - def img_cb(self, e, msg): - print("MainMenu2:img_cb:{}".format(msg)) - EventMesh.publish("load_screen", {"screen": "{}".format(msg)}) - - - - -#主菜单风格2,单页 -class MainMenu2(): - NAME = "MainMenu2" - def __init__(self): - print("MainMenu1:__init__") - self.meta = lv.obj() - self.MainMenu = lv.tileview(self.meta) - self.MainMenu.set_scrollbar_mode(0) - self.MainMenu.add_style(style_MainMenu_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT) - #表盘 - self.MainMenu_Watchface = self.MainMenu.add_tile(0, 1, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu_Watchface) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("0") - #self.MainMenu2.set_tile_id(2,0,lv.ANIM.ON) - #支付宝 - self.MainMenu2_alipay = self.MainMenu.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_alipay) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("1") - self.MainMenu2_img_alipay = lv.img(self.MainMenu2_alipay) - self.MainMenu2_img_alipay.set_size(160,160) - self.MainMenu2_img_alipay.set_pos(40,20) - self.MainMenu2_img_alipay.set_src("E:/static/main_menu/main_menu2/alipay_.png") - self.MainMenu2_img_alipay.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_alipay) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("支付宝") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - # self.MainMenu2_img_alipay_text = lv.img(self.MainMenu2_alipay) - # self.MainMenu2_img_alipay_text.set_size(160,39) - # self.MainMenu2_img_alipay_text.set_pos(40,210) - # self.MainMenu2_img_alipay_text.set_src("E:/static/main_menu/main_menu2/alipay_TEXT.png") - # self.MainMenu2_img_alipay_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_alipay_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_alipay.set_long_mode(lv.label.LONG.WRAP) - # self.label_alipay.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_alipay.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - #拨号盘 - self.MainMenu2_phone = self.MainMenu.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_phone) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("2") - self.MainMenu2_img_phone = lv.img(self.MainMenu2_phone) - self.MainMenu2_img_phone.set_size(160,160) - self.MainMenu2_img_phone.set_pos(40,20) - self.MainMenu2_img_phone.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.png") - self.MainMenu2_img_phone.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_phone.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_phone) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("拨号盘") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - # self.MainMenu2_img_phone_text = lv.img(self.MainMenu2_phone) - # self.MainMenu2_img_phone_text.set_size(160,39) - # self.MainMenu2_img_phone_text.set_pos(40,210) - # self.MainMenu2_img_phone_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL_TEXT.png") - # self.MainMenu2_img_phone_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_phone_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_phone = lv.label(self.MainMenu2_phone) - # self.label_phone.set_pos(0, 240) - # self.label_phone.set_size(240, 80) - # self.label_phone.set_text("拨号盘") - # self.label_phone.set_long_mode(lv.label.LONG.WRAP) - # self.label_phone.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_phone.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - #通讯录 - self.MainMenu2_contacts = self.MainMenu.add_tile(2, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_contacts) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("3") - self.MainMenu2_img_contacts = lv.img(self.MainMenu2_contacts) - self.MainMenu2_img_contacts.set_size(160,160) - self.MainMenu2_img_contacts.set_pos(40,20) - self.MainMenu2_img_contacts.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.png") - self.MainMenu2_img_contacts.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_contacts.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_contacts) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("联系人") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - # self.MainMenu2_img_contacts_text = lv.img(self.MainMenu2_contacts) - # self.MainMenu2_img_contacts_text.set_size(160,39) - # self.MainMenu2_img_contacts_text.set_pos(40,210) - # self.MainMenu2_img_contacts_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS_TEXT.png") - # self.MainMenu2_img_contacts_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_contacts_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_contacts = lv.label(self.MainMenu2_contacts) - # self.label_contacts.set_pos(0, 240) - # self.label_contacts.set_size(240, 80) - # self.label_contacts.set_text("通讯录") - # self.label_contacts.set_long_mode(lv.label.LONG.WRAP) - # self.label_contacts.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_contacts.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - #心律检测 - self.MainMenu2_heartrate = self.MainMenu.add_tile(3, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_heartrate) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("4") - self.MainMenu2_img_heartrate = lv.img(self.MainMenu2_heartrate) - self.MainMenu2_img_heartrate.set_size(160,160) - self.MainMenu2_img_heartrate.set_pos(40,20) - self.MainMenu2_img_heartrate.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.png") - self.MainMenu2_img_heartrate.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_heartrate.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_heartrate) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("心率检测") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - # self.MainMenu2_img_heartrate_text = lv.img(self.MainMenu2_heartrate) - # self.MainMenu2_img_heartrate_text.set_size(160,39) - # self.MainMenu2_img_heartrate_text.set_pos(40,210) - # self.MainMenu2_img_heartrate_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT_TEXT.png") - # self.MainMenu2_img_heartrate_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_heartrate_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_heartrate = lv.label(self.MainMenu2_heartrate) - # self.label_heartrate.set_pos(0, 240) - # self.label_heartrate.set_size(240, 80) - # self.label_heartrate.set_text("心率") - # self.label_heartrate.set_long_mode(lv.label.LONG.WRAP) - # self.label_heartrate.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_heartrate.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - #血样检测 - self.MainMenu2_spo2 = self.MainMenu.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_spo2) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("5") - self.MainMenu2_img_spo2 = lv.img(self.MainMenu2_spo2) - self.MainMenu2_img_spo2.set_size(160,160) - self.MainMenu2_img_spo2.set_pos(40,20) - self.MainMenu2_img_spo2.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.png") - self.MainMenu2_img_spo2.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_spo2.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_spo2) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("血氧检测") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.MainMenu2_img_spo2_text = lv.img(self.MainMenu2_spo2) - # self.MainMenu2_img_spo2_text.set_size(160,39) - # self.MainMenu2_img_spo2_text.set_pos(40,210) - # self.MainMenu2_img_spo2_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT_TEXT.png") - # self.MainMenu2_img_spo2_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_spo2_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_spo2 = lv.label(self.MainMenu2_spo2) - # self.label_spo2.set_pos(0, 240) - # self.label_spo2.set_size(240, 80) - # self.label_spo2.set_text("血氧") - # self.label_spo2.set_long_mode(lv.label.LONG.WRAP) - # self.label_spo2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_spo2.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - #工具箱 - self.MainMenu2_toolbox = self.MainMenu.add_tile(5, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_toolbox) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("6") - self.MainMenu2_img_toolbox = lv.img(self.MainMenu2_toolbox) - self.MainMenu2_img_toolbox.set_size(160,160) - self.MainMenu2_img_toolbox.set_pos(40,20) - self.MainMenu2_img_toolbox.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.png") - self.MainMenu2_img_toolbox.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_toolbox.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_toolbox) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("工具箱") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.MainMenu2_img_toolbox_text = lv.img(self.MainMenu2_toolbox) - # self.MainMenu2_img_toolbox_text.set_size(160,39) - # self.MainMenu2_img_toolbox_text.set_pos(40,210) - # self.MainMenu2_img_toolbox_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS_TEXT.png") - # self.MainMenu2_img_toolbox_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_toolbox_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_toolbox = lv.label(self.MainMenu2_toolbox) - # self.label_toolbox.set_pos(0, 240) - # self.label_toolbox.set_size(240, 80) - # self.label_toolbox.set_text("工具箱") - # self.label_toolbox.set_long_mode(lv.label.LONG.WRAP) - # self.label_toolbox.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_toolbox.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - #设置 - self.MainMenu2_setting = self.MainMenu.add_tile(6, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_setting) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("7") - self.MainMenu2_img_setting = lv.img(self.MainMenu2_setting) - self.MainMenu2_img_setting.set_size(160,160) - self.MainMenu2_img_setting.set_pos(40,20) - self.MainMenu2_img_setting.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.png") - self.MainMenu2_img_setting.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_setting.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_setting) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("设置") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.MainMenu2_img_setting_text = lv.img(self.MainMenu2_setting) - # self.MainMenu2_img_setting_text.set_size(160,39) - # self.MainMenu2_img_setting_text.set_pos(40,210) - # self.MainMenu2_img_setting_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS_TEXT.png") - # self.MainMenu2_img_setting_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_setting_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_setting = lv.label(self.MainMenu2_setting) - # self.label_setting.set_pos(0, 240) - # self.label_setting.set_size(240, 80) - # self.label_setting.set_text("设置") - # self.label_setting.set_long_mode(lv.label.LONG.WRAP) - # self.label_setting.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_setting.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - #体温测量 - self.MainMenu2_temperature = self.MainMenu.add_tile(7, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_temperature) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("8") - self.MainMenu2_img_temperature = lv.img(self.MainMenu2_temperature) - self.MainMenu2_img_temperature.set_size(160,160) - self.MainMenu2_img_temperature.set_pos(40,20) - self.MainMenu2_img_temperature.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.png") - self.MainMenu2_img_temperature.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_temperature.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_temperature) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("体温测量") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.MainMenu2_img_temperature_text = lv.img(self.MainMenu2_temperature) - # self.MainMenu2_img_temperature_text.set_size(160,39) - # self.MainMenu2_img_temperature_text.set_pos(40,210) - # self.MainMenu2_img_temperature_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE_TEXT.png") - # self.MainMenu2_img_temperature_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_temperature_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.label_temperature = lv.label(self.MainMenu2_temperature) - # self.label_temperature.set_pos(0, 240) - # self.label_temperature.set_size(240, 80) - # self.label_temperature.set_text("体温") - # self.label_temperature.set_long_mode(lv.label.LONG.WRAP) - # self.label_temperature.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_temperature.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - #微聊 - self.MainMenu2_wechat = self.MainMenu.add_tile(8, 0, lv.DIR.LEFT | lv.DIR.RIGHT) - label_text = lv.label(self.MainMenu2_wechat) - label_text.set_pos(0, 240) - label_text.set_size(0, 0) - label_text.set_text("9") - self.MainMenu2_img_wechat = lv.img(self.MainMenu2_wechat) - self.MainMenu2_img_wechat.set_size(160,160) - self.MainMenu2_img_wechat.set_pos(40,20) - self.MainMenu2_img_wechat.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.png") - self.MainMenu2_img_wechat.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_wechat.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_wechat) - self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220)) - self.MainMenu2_img_alipay_txt.set_size(240,100) - self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE) - self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.MainMenu2_img_alipay_txt.set_text("微聊") - self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - - # self.MainMenu2_img_wechat_text = lv.img(self.MainMenu2_wechat) - # self.MainMenu2_img_wechat_text.set_size(160,39) - # self.MainMenu2_img_wechat_text.set_pos(40,210) - # self.MainMenu2_img_wechat_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT_TEXT.png") - # self.MainMenu2_img_wechat_text.add_flag(lv.obj.FLAG.CLICKABLE) - # self.MainMenu2_img_wechat_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - - # self.label_wechat = lv.label(self.MainMenu2_wechat) - # self.label_wechat.set_pos(0, 240) - # self.label_wechat.set_size(240, 80) - # self.label_wechat.set_text("微聊") - # self.label_wechat.set_long_mode(lv.label.LONG.WRAP) - # self.label_wechat.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.label_wechat.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) - - - - self.MainMenu2_img_phone.add_event_cb(lambda e: self.img_cb(e, "Phone"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_toolbox.add_event_cb(lambda e: self.img_cb(e, "toolbox"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_setting.add_event_cb(lambda e: self.img_cb(e, "setting"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_heartrate.add_event_cb(lambda e: self.img_cb(e, "heartrate"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_contacts.add_event_cb(lambda e: self.img_cb(e, "contacts"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_wechat.add_event_cb(lambda e: self.img_cb(e, "wechat"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_spo2.add_event_cb(lambda e: self.img_cb(e, "spo2"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_temperature.add_event_cb(lambda e: self.img_cb(e, "temperature"), lv.EVENT.CLICKED, None) - self.MainMenu2_img_alipay.add_event_cb(lambda e: self.img_cb(e, "alipay_open"), lv.EVENT.CLICKED, None) - #self.MainMenu2_img_alipay.add_event_cb(lambda e: self.img_cb(e, "Watchface_set"), lv.EVENT.CLICKED, None) - - def initialization(self): - pass# - - def img_cb(self, e, msg): - print("MainMenu2:img_cb:{}".format(msg)) - EventMesh.publish("load_screen", {"screen": "{}".format(msg)}) - - + def Close(self): + self.watchface.Close() + print("main_menu Close !!!!!!!!") + return diff --git a/3.code/1.watch/2.code/ui_setting.py b/3.code/1.watch/2.code/ui_setting.py index 37dcc48a..69ed4036 100644 --- a/3.code/1.watch/2.code/ui_setting.py +++ b/3.code/1.watch/2.code/ui_setting.py @@ -10,7 +10,6 @@ import audio from machine import Pin import ujson from ext.lcd import style_font_youyuan_40 -import utime # -------------------------------------------setting screen---------------------------------------------------------- style_bar = lv.style_t() @@ -39,275 +38,264 @@ style_bar_indic.set_bg_grad_color(lv.color_make(0xff, 0x61, 0x3a)) style_bar_indic.set_bg_grad_dir(lv.GRAD_DIR.VER) style_bar_indic.set_bg_opa(255) +setting_cont_y = 0 +setting_screen = lv.obj() +setting = lv.obj(setting_screen) +setting.center() +setting.set_size(240, 320) +setting.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +setting_imei_img = lv.img(setting) +setting_imei_img.set_pos(75, 10) +setting_imei_img.set_size(90, 30) +setting_imei_img.set_src("E:/static/setting/setting_text.png") +setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +# setting_title = lv.label(setting) +# setting_title.set_pos(0, 10) +# setting_title.set_size(240, 40) +# setting_title.set_text("设置") +# setting_title.set_long_mode(lv.label.LONG.WRAP) +# setting_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +# setting_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +setting_cont = lv.obj(setting) +setting_cont.set_pos(0, 50) +setting_cont.set_size(240, 270) +setting_cont_style = ContStyle() +setting_cont.add_style( + setting_cont_style.style_cont(0, lv.color_make(0x00, 0x00, 0x00), lv.color_make(0x00, 0x00, 0x00), 255), + lv.PART.MAIN | lv.STATE.DEFAULT) + +# setting_language = lv.btn(setting_cont) +# setting_language.set_pos(0, setting_cont_y) +# setting_language.set_size(240, 54) +# setting_language_label = lv.label(setting_language) +# setting_language_label.set_text("语言设置") +# setting_language.set_style_pad_all(0, lv.STATE.DEFAULT) +# setting_language_label.align(lv.ALIGN.LEFT_MID, 70, 0) +# setting_language_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +# setting_language_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +# setting_language.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +# setting_language_img = lv.img(setting_cont) +# setting_language_img.set_pos(10, setting_cont_y)set_size(47, 47) +# setting_language_img.set_size(232, 80) +# setting_language_img.add_flag(lv.obj.FLAG.CLICKABLE) +# setting_language_img.set_src("E:/static/menu_language.png") +# setting_language_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +#setting_cont_y += 60 + +setting_dialswitch = lv.btn(setting_cont) +setting_dialswitch.set_pos(0, setting_cont_y) +setting_dialswitch.set_size(0, 0) +setting_dialswitch_label = lv.label(setting_dialswitch) +setting_dialswitch_label.set_text("表盘切换") +setting_dialswitch.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_dialswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_dialswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_dialswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_dialswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_dialswitch_img = lv.img(setting_cont) +setting_dialswitch_img.set_pos(0, setting_cont_y) +setting_dialswitch_img.set_size(232, 80) +setting_dialswitch_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_dialswitch_img.set_src("E:/static/setting/menu_watch_switch.png") +setting_dialswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + + +# setting_themeswitch = lv.btn(setting_cont) +# setting_themeswitch.set_pos(0, 120) +# setting_themeswitch.set_size(240, 54) +# setting_themeswitch_label = lv.label(setting_themeswitch) +# setting_themeswitch_label.set_text("主题切换") +# setting_themeswitch.set_style_pad_all(0, lv.STATE.DEFAULT) +# setting_themeswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0) +# setting_themeswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +# setting_themeswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +# setting_themeswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +# setting_themeswitch_img = lv.img(setting_cont) +# setting_themeswitch_img.set_pos(10, 120) +# setting_themeswitch_img.set_size(232, 80) +# setting_themeswitch_img.add_flag(lv.obj.FLAG.CLICKABLE) +# setting_themeswitch_img.set_src("E:/static/menu_theme_switch.png") +# setting_themeswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +#setting_cont_y+=60 + +setting_imei = lv.btn(setting_cont) +setting_imei.set_pos(0, setting_cont_y) +setting_imei.set_size(0, 0) +setting_imei_label = lv.label(setting_imei) +setting_imei_label.set_text("设备IMEI号") +setting_imei.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_imei_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_imei_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_imei.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_imei_img = lv.img(setting_cont) +setting_imei_img.set_pos(0, setting_cont_y) +setting_imei_img.set_size(232, 80) +setting_imei_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_imei_img.set_src("E:/static/setting/menu_imei_qrcode.png") +setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + +setting_app = lv.btn(setting_cont) +setting_app.set_pos(0, setting_cont_y) +setting_app.set_size(0, 0) +setting_app_label = lv.label(setting_app) +setting_app_label.set_text("手机安装APP") +setting_app.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_app_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_app_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_app.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_app_img = lv.img(setting_cont) +setting_app_img.set_pos(0, setting_cont_y) +setting_app_img.set_size(232, 80) +setting_app_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_app_img.set_src("E:/static/setting/menu_app_qrcode.png") +setting_app_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + +setting_bright = lv.btn(setting_cont) +setting_bright.set_pos(0, setting_cont_y) +setting_bright.set_size(0, 0) +setting_bright_label = lv.label(setting_bright) +setting_bright_label.set_text("屏幕调节") +setting_bright.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_bright_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_bright_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_bright_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_bright.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_bright_img = lv.img(setting_cont) +setting_bright_img.set_pos(0, setting_cont_y) +setting_bright_img.set_size(232, 80) +setting_bright_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_bright_img.set_src("E:/static/setting/menu_bright.png") +setting_bright_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + +setting_volume = lv.btn(setting_cont) +setting_volume.set_pos(0, setting_cont_y) +setting_volume.set_size(0, 0) +setting_volume_label = lv.label(setting_volume) +setting_volume_label.set_text("铃声") +setting_volume.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_volume_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_volume_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_volume_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_volume.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_volume_img = lv.img(setting_cont) +setting_volume_img.set_pos(0, setting_cont_y) +setting_volume_img.set_size(232, 80) +setting_volume_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_volume_img.set_src("E:/static/setting/menu_volume.png") +setting_volume_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + +setting_restore = lv.btn(setting_cont) +setting_restore.set_pos(0, setting_cont_y) +setting_restore.set_size(0, 0) +setting_restore_label = lv.label(setting_restore) +setting_restore_label.set_text("恢复出厂设置") +setting_restore.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_restore_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_restore_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_restore.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_restore_img = lv.img(setting_cont) +setting_restore_img.set_pos(0, setting_cont_y) +setting_restore_img.set_size(232, 80) +setting_restore_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_restore_img.set_src("E:/static/setting/menu_restore.png") +setting_restore_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + +setting_poweroff = lv.btn(setting_cont) +setting_poweroff.set_pos(0, setting_cont_y) +setting_poweroff.set_size(0, 0) +setting_poweroff_label = lv.label(setting_poweroff) +setting_poweroff_label.set_text("关机") +setting_poweroff.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_poweroff_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_poweroff_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_poweroff.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_poweroff_img = lv.img(setting_cont) +setting_poweroff_img.set_pos(0, setting_cont_y) +setting_poweroff_img.set_size(232, 80) +setting_poweroff_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_poweroff_img.set_src("E:/static/setting/menu_poweroff.png") +setting_poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + +setting_version = lv.btn(setting_cont) +setting_version.set_pos(0, setting_cont_y) +setting_version.set_size(0, 0) +setting_version_label = lv.label(setting_version) +setting_version_label.set_text("关于设备") +setting_version.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_version_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_version_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_version_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_version.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_version_img = lv.img(setting_cont) +setting_version_img.set_pos(0, setting_cont_y) +setting_version_img.set_size(232, 80) +setting_version_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_version_img.set_src("E:/static/setting/menu_version.png") +setting_version_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_cont_y+=90 + +setting_update = lv.btn(setting_cont) +setting_update.set_pos(0, setting_cont_y) +setting_update.set_size(0, 0) +setting_update_label = lv.label(setting_update) +setting_update_label.set_text("系统升级") +setting_update.set_style_pad_all(0, lv.STATE.DEFAULT) +setting_update_label.align(lv.ALIGN.LEFT_MID, 70, 0) +setting_update_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) +setting_update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_update.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +setting_update_img = lv.img(setting_cont) +setting_update_img.set_pos(0, setting_cont_y) +setting_update_img.set_size(232, 80) +setting_update_img.add_flag(lv.obj.FLAG.CLICKABLE) +setting_update_img.set_src("E:/static/setting/menu_upgrade.png") +setting_update_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -# import uos -# import gc class SettingScreen(Screen): NAME = "setting" def __init__(self): super().__init__() - self.meta = None - self.setting_cont_y = 0 + self.meta = setting_screen + # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None) + setting_dialswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None) + # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None) + setting_imei.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None) + setting_app.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None) + setting_bright.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None) + setting_volume.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None) + setting_restore.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None) + setting_poweroff.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None) + setting_update.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None) + setting_version.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None) + + # img regist btton + # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None) + setting_dialswitch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None) + # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None) + setting_imei_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None) + setting_app_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None) + setting_bright_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None) + setting_volume_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None) + setting_restore_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None) + setting_poweroff_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None) + setting_update_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None) + setting_version_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None) - def initialization(self): - # mem = gc.mem_free() - # print('1剩余内存RAM:{} KB'.format(mem / 1024)) - if self.meta == None : - print("SettingScreen :initialization") - self.setting_cont_y = 0 - self.meta = lv.obj() - self.setting = lv.obj(self.meta ) - self.setting.center() - self.setting.set_size(240, 320) - self.setting.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.setting_imei_img = lv.img(self.setting) - self.setting_imei_img.set_pos(75, 10) - self.setting_imei_img.set_size(90, 30) - self.setting_imei_img.set_src("E:/static/setting/setting_text.png") - self.setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.setting_title = lv.label(self.setting) - # self.setting_title.set_pos(0, 10) - # self.setting_title.set_size(240, 40) - # self.setting_title.set_text("设置") - # self.setting_title.set_long_mode(lv.label.LONG.WRAP) - # self.setting_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - # self.setting_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.setting_cont = lv.obj(self.setting) - self.setting_cont.set_pos(0, 50) - self.setting_cont.set_size(240, 270) - self.setting_cont_style = ContStyle() - self.setting_cont.add_style( - self.setting_cont_style.style_cont(0, lv.color_make(0x00, 0x00, 0x00), lv.color_make(0x00, 0x00, 0x00), 255), - lv.PART.MAIN | lv.STATE.DEFAULT) - - # self.setting_language = lv.btn(self.setting_cont) - # self.setting_language.set_pos(0, self.setting_cont_y) - # self.setting_language.set_size(240, 54) - # self.setting_language_label = lv.label(self.setting_language) - # self.setting_language_label.set_text("语言设置") - # self.setting_language.set_style_pad_all(0, lv.STATE.DEFAULT) - # self.setting_language_label.align(lv.ALIGN.LEFT_MID, 70, 0) - # self.setting_language_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - # self.setting_language_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.setting_language.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.setting_language_img = lv.img(self.setting_cont) - # self.setting_language_img.set_pos(10, self.setting_cont_y)set_size(47, 47) - # self.setting_language_img.set_size(232, 80) - # self.setting_language_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.setting_language_img.set_src("E:/static/menu_language.png") - # self.setting_language_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - #self.setting_cont_y += 60 - - self.setting_dialswitch = lv.btn(self.setting_cont) - self.setting_dialswitch.set_pos(0, self.setting_cont_y) - self.setting_dialswitch.set_size(0, 0) - self.setting_dialswitch_label = lv.label(self.setting_dialswitch) - self.setting_dialswitch_label.set_text("表盘切换") - self.setting_dialswitch.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_dialswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_dialswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_dialswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_dialswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_dialswitch_img = lv.img(self.setting_cont) - self.setting_dialswitch_img.set_pos(0, self.setting_cont_y) - self.setting_dialswitch_img.set_size(232, 80) - self.setting_dialswitch_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_dialswitch_img.set_src("E:/static/setting/menu_watch_switch.png") - self.setting_dialswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - - # self.setting_themeswitch = lv.btn(self.setting_cont) - # self.setting_themeswitch.set_pos(0, 120) - # self.setting_themeswitch.set_size(240, 54) - # self.setting_themeswitch_label = lv.label(self.setting_themeswitch) - # self.setting_themeswitch_label.set_text("主题切换") - # self.setting_themeswitch.set_style_pad_all(0, lv.STATE.DEFAULT) - # self.setting_themeswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0) - # self.setting_themeswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - # self.setting_themeswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.setting_themeswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - # self.setting_themeswitch_img = lv.img(self.setting_cont) - # self.setting_themeswitch_img.set_pos(10, 120) - # self.setting_themeswitch_img.set_size(232, 80) - # self.setting_themeswitch_img.add_flag(lv.obj.FLAG.CLICKABLE) - # self.setting_themeswitch_img.set_src("E:/static/menu_theme_switch.png") - # self.setting_themeswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - #self.setting_cont_y+=60 - - self.setting_imei = lv.btn(self.setting_cont) - self.setting_imei.set_pos(0, self.setting_cont_y) - self.setting_imei.set_size(0, 0) - self.setting_imei_label = lv.label(self.setting_imei) - self.setting_imei_label.set_text("设备IMEI号") - self.setting_imei.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_imei_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_imei_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_imei.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_imei_img = lv.img(self.setting_cont) - self.setting_imei_img.set_pos(0, self.setting_cont_y) - self.setting_imei_img.set_size(232, 80) - self.setting_imei_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_imei_img.set_src("E:/static/setting/menu_imei_qrcode.png") - self.setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - self.setting_app = lv.btn(self.setting_cont) - self.setting_app.set_pos(0, self.setting_cont_y) - self.setting_app.set_size(0, 0) - self.setting_app_label = lv.label(self.setting_app) - self.setting_app_label.set_text("手机安装APP") - self.setting_app.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_app_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_app_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_app.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_app_img = lv.img(self.setting_cont) - self.setting_app_img.set_pos(0, self.setting_cont_y) - self.setting_app_img.set_size(232, 80) - self.setting_app_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_app_img.set_src("E:/static/setting/menu_app_qrcode.png") - self.setting_app_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - self.setting_bright = lv.btn(self.setting_cont) - self.setting_bright.set_pos(0, self.setting_cont_y) - self.setting_bright.set_size(0, 0) - self.setting_bright_label = lv.label(self.setting_bright) - self.setting_bright_label.set_text("屏幕调节") - self.setting_bright.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_bright_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_bright_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_bright_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_bright.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_bright_img = lv.img(self.setting_cont) - self.setting_bright_img.set_pos(0, self.setting_cont_y) - self.setting_bright_img.set_size(232, 80) - self.setting_bright_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_bright_img.set_src("E:/static/setting/menu_bright.png") - self.setting_bright_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - self.setting_volume = lv.btn(self.setting_cont) - self.setting_volume.set_pos(0, self.setting_cont_y) - self.setting_volume.set_size(0, 0) - self.setting_volume_label = lv.label(self.setting_volume) - self.setting_volume_label.set_text("铃声") - self.setting_volume.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_volume_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_volume_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_volume_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_volume.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_volume_img = lv.img(self.setting_cont) - self.setting_volume_img.set_pos(0, self.setting_cont_y) - self.setting_volume_img.set_size(232, 80) - self.setting_volume_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_volume_img.set_src("E:/static/setting/menu_volume.png") - self.setting_volume_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - self.setting_restore = lv.btn(self.setting_cont) - self.setting_restore.set_pos(0, self.setting_cont_y) - self.setting_restore.set_size(0, 0) - self.setting_restore_label = lv.label(self.setting_restore) - self.setting_restore_label.set_text("恢复出厂设置") - self.setting_restore.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_restore_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_restore_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_restore.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_restore_img = lv.img(self.setting_cont) - self.setting_restore_img.set_pos(0, self.setting_cont_y) - self.setting_restore_img.set_size(232, 80) - self.setting_restore_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_restore_img.set_src("E:/static/setting/menu_restore.png") - self.setting_restore_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - self.setting_poweroff = lv.btn(self.setting_cont) - self.setting_poweroff.set_pos(0, self.setting_cont_y) - self.setting_poweroff.set_size(0, 0) - self.setting_poweroff_label = lv.label(self.setting_poweroff) - self.setting_poweroff_label.set_text("关机") - self.setting_poweroff.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_poweroff_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_poweroff_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_poweroff.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_poweroff_img = lv.img(self.setting_cont) - self.setting_poweroff_img.set_pos(0, self.setting_cont_y) - self.setting_poweroff_img.set_size(232, 80) - self.setting_poweroff_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_poweroff_img.set_src("E:/static/setting/menu_poweroff.png") - self.setting_poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - self.setting_version = lv.btn(self.setting_cont) - self.setting_version.set_pos(0, self.setting_cont_y) - self.setting_version.set_size(0, 0) - self.setting_version_label = lv.label(self.setting_version) - self.setting_version_label.set_text("关于设备") - self.setting_version.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_version_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_version_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_version_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_version.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_version_img = lv.img(self.setting_cont) - self.setting_version_img.set_pos(0, self.setting_cont_y) - self.setting_version_img.set_size(232, 80) - self.setting_version_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_version_img.set_src("E:/static/setting/menu_version.png") - self.setting_version_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_cont_y+=90 - - self.setting_update = lv.btn(self.setting_cont) - self.setting_update.set_pos(0, self.setting_cont_y) - self.setting_update.set_size(0, 0) - self.setting_update_label = lv.label(self.setting_update) - self.setting_update_label.set_text("系统升级") - self.setting_update.set_style_pad_all(0, lv.STATE.DEFAULT) - self.setting_update_label.align(lv.ALIGN.LEFT_MID, 70, 0) - self.setting_update_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT) - self.setting_update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_update.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.setting_update_img = lv.img(self.setting_cont) - self.setting_update_img.set_pos(0, self.setting_cont_y) - self.setting_update_img.set_size(232, 80) - self.setting_update_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.setting_update_img.set_src("E:/static/setting/menu_upgrade.png") - self.setting_update_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - - # self.setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None) - self.setting_dialswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None) - # self.setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None) - self.setting_imei.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None) - self.setting_app.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None) - self.setting_bright.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None) - self.setting_volume.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None) - self.setting_restore.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None) - self.setting_poweroff.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None) - self.setting_update.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None) - self.setting_version.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None) - - # img regist btton - # self.setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None) - self.setting_dialswitch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None) - # self.setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None) - self.setting_imei_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None) - self.setting_app_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None) - self.setting_bright_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None) - self.setting_volume_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None) - self.setting_restore_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None) - self.setting_poweroff_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None) - self.setting_update_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None) - self.setting_version_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None) - def Close(self): - self.meta.delete() - self.meta = None + def done_return(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) @@ -318,68 +306,545 @@ class SettingScreen(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "main_menu"}) ################################################################## +# -------------------------------------------language screen---------------------------------------------------------- +language_screen = lv.obj() +language = lv.obj(language_screen) +language.center() +language.set_size(240, 320) +language.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +language_title = lv.label(language) +language_title.set_pos(0, 10) +language_title.set_size(240, 40) +language_title.set_text("语言设置") +language_title.set_long_mode(lv.label.LONG.WRAP) +language_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +language_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +language_english_btn = lv.btn(language) +language_english_btn.set_size(240,50) +language_english_btn.set_pos(0, 60) +language_english_btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) +language_english_btn.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +language_english_btn_label = lv.label(language_english_btn) +language_english_btn_label.set_text("English") +language_english_btn_label.align(lv.ALIGN.LEFT_MID, 10, 0) +language_english_btn_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +language_chinese_btn = lv.btn(language) +language_chinese_btn.set_size(240,50) +language_chinese_btn.set_pos(0, 120) +language_chinese_btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) +language_chinese_btn.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +language_chinese_btn_label = lv.label(language_chinese_btn) +language_chinese_btn_label.set_text("简体中文") +language_chinese_btn_label.align(lv.ALIGN.LEFT_MID, 10, 0) +language_chinese_btn_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +# -------------------------------------------dialswitch screen---------------------------------------------------------- +dialswitch_screen = lv.obj() +dialswitch = lv.obj(dialswitch_screen) +dialswitch.center() +dialswitch.set_size(240, 320) +dialswitch.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +dialswitch_title = lv.label(dialswitch) +dialswitch_title.set_pos(0, 10) +dialswitch_title.set_size(240, 40) +dialswitch_title.set_text("表盘切换") +dialswitch_title.set_long_mode(lv.label.LONG.WRAP) +dialswitch_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +dialswitch_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +dialswitch_btn1 = lv.btn(dialswitch) +dialswitch_btn1.set_size(240,54) +dialswitch_btn1.set_pos(0, 50) +dialswitch_btn1.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) +dialswitch_btn1.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +dialswitch_btn1_label = lv.label(dialswitch_btn1) +dialswitch_btn1_label.set_text("表盘1") +dialswitch_btn1_label.align(lv.ALIGN.LEFT_MID, 10, 0) +dialswitch_btn1_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +dialswitch_btn2 = lv.btn(dialswitch) +dialswitch_btn2.set_size(240,54) +dialswitch_btn2.set_pos(0, 104) +dialswitch_btn2.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) +dialswitch_btn2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +dialswitch_btn2_label = lv.label(dialswitch_btn2) +dialswitch_btn2_label.set_text("表盘2") +dialswitch_btn2_label.align(lv.ALIGN.LEFT_MID, 10, 0) +dialswitch_btn2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +btn1_switch = lv.switch(dialswitch_btn1) +btn1_switch.set_pos(185, 3) +btn1_switch.set_size(10, 10) +btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR) +btn1_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED) +btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB) + +btn2_switch = lv.switch(dialswitch_btn2) +btn2_switch.set_pos(185, 3) +btn2_switch.set_size(10, 10) +btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR) +btn2_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED) +btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB) + +# -------------------------------------------menustyle screen---------------------------------------------------------- +menustyle_screen = lv.obj() +menustyle = lv.obj(menustyle_screen) +menustyle.center() +menustyle.set_size(240, 320) +menustyle.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +menustyle_title = lv.label(menustyle) +menustyle_title.set_pos(0, 10) +menustyle_title.set_size(240, 40) +menustyle_title.set_text("主菜单风格") +menustyle_title.set_long_mode(lv.label.LONG.WRAP) +menustyle_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +menustyle_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +menustyle_btn1 = lv.btn(menustyle) +menustyle_btn1.set_size(240,54) +menustyle_btn1.set_pos(0, 50) +menustyle_btn1.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) +menustyle_btn1.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +menustyle_btn1_label = lv.label(menustyle_btn1) +menustyle_btn1_label.set_text("四宫格") +menustyle_btn1_label.align(lv.ALIGN.LEFT_MID, 10, 0) +menustyle_btn1_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +menu_btn1_switch = lv.switch(menustyle_btn1) +menu_btn1_switch.set_pos(185, 3) +menu_btn1_switch.set_size(10, 10) +menu_btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR) +menu_btn1_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED) +menu_btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB) + +menustyle_btn2 = lv.btn(menustyle) +menustyle_btn2.set_size(240,54) +menustyle_btn2.set_pos(0, 104) +menustyle_btn2.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) +menustyle_btn2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) +menustyle_btn2_label = lv.label(menustyle_btn2) +menustyle_btn2_label.set_text("单页") +menustyle_btn2_label.align(lv.ALIGN.LEFT_MID, 10, 0) +menustyle_btn2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + + +menu_btn2_switch = lv.switch(menustyle_btn2) +menu_btn2_switch.set_pos(185, 3) +menu_btn2_switch.set_size(10, 10) +menu_btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR) +menu_btn2_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED) +menu_btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB) + + + + + +# -------------------------------------------app screen---------------------------------------------------------- +#app_screen = lv.obj() +app_screen = lv.obj() +app_screen.center() +app_screen.set_size(240, 320) +app_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +app_img = lv.img(app_screen) +app_img.set_pos(int(20),int(40)) +app_img.set_size(200,200) +app_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +app_img.add_flag(lv.obj.FLAG.CLICKABLE) +app_img.set_src("E:/static/IMAGE_APP_QR_CODE.png") +app_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) +# app_qr = lv.qrcode(imei, 150, fg_color, bg_color) +# app_qr.center() +# Add a border with bg_color +# app_qr.set_style_border_color(bg_color, 0) +# app_qr.set_style_border_width(5, 0) +# app_qr_data = str("https://fangzoudiu.xcloudtech.com/xiao_jian") +# app_qr.update(app_qr_data,len(app_qr_data)) + +app_label = lv.label(app_screen) +app_label.set_pos(0, 280) +app_label.set_size(240, 20) +app_label.set_text(" ") +app_label.set_long_mode(lv.label.LONG.WRAP) +app_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + + +# -------------------------------------------volume screen---------------------------------------------------------- +volume_screen = lv.obj() +volume = lv.obj(volume_screen) +volume.center() +volume.set_size(240, 320) +volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +volume_phone_btn = lv.btn(volume) +volume_phone_btn.set_size(240,40) +volume_phone_btn.set_pos(0,30) +volume_phone_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT) + +volume_phone_label = lv.label(volume_phone_btn) +volume_phone_label.set_text("电话铃声") +volume_phone_label.align(lv.ALIGN.CENTER, 0, 0) +volume_phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +volume_alarm_btn = lv.btn(volume) +volume_alarm_btn.set_size(240,40) +volume_alarm_btn.set_pos(0,100) +volume_alarm_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT) + +volume_alarm_label = lv.label(volume_alarm_btn) +volume_alarm_label.set_text("闹钟铃声") +volume_alarm_label.align(lv.ALIGN.CENTER, 0, 0) +volume_alarm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +volume_message_btn = lv.btn(volume) +volume_message_btn.set_size(240,40) +volume_message_btn.set_pos(0,170) +volume_message_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT) + +volume_message_label = lv.label(volume_message_btn) +volume_message_label.set_text("消息铃声") +volume_message_label.align(lv.ALIGN.CENTER, 0, 0) +volume_message_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +# -------------------------------------------phonering screen---------------------------------------------------------- +phonering_screen = lv.obj() +phonering = lv.obj(phonering_screen) +phonering.center() +phonering.set_size(240, 320) +phonering.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +phonering_title = lv.label(phonering) +phonering_title.set_pos(0, 10) +phonering_title.set_size(240, 40) +phonering_title.set_text("电话铃声") +phonering_title.set_long_mode(lv.label.LONG.WRAP) +phonering_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +phonering_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +phonering_label1 = lv.label(phonering) +phonering_label1.set_pos(10, 70) +phonering_label1.set_size(230, 40) +phonering_label1.set_text("电话铃声:") +phonering_label1.set_long_mode(lv.label.LONG.WRAP) +phonering_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) +phonering_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +phonering_bar = lv.bar(phonering) +phonering_bar.set_pos(20, 120) +phonering_bar.set_size(200, 15) +phonering_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) +phonering_bar.set_mode(lv.bar.MODE.NORMAL) +phonering_bar.set_value(50, lv.ANIM.OFF) +phonering_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) +phonering_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) + +phonering_reduce_imgbtn = lv.img(phonering) +phonering_reduce_imgbtn.set_pos(0, 150) +phonering_reduce_imgbtn.set_size(110, 46) +phonering_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) +phonering_reduce_imgbtn.set_src("E:/static/reduce_btn.png") +phonering_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +phonering_add_imgbtn = lv.img(phonering) +phonering_add_imgbtn.set_pos(120, 150) +phonering_add_imgbtn.set_size(110, 46) +phonering_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) + +phonering_add_imgbtn.set_src("E:/static/add_btn.png") + +phonering_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +# -------------------------------------------alarmvolume screen---------------------------------------------------------- +alarmvolume_screen = lv.obj() +alarmvolume = lv.obj(alarmvolume_screen) +alarmvolume.center() +alarmvolume.set_size(240, 320) +alarmvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +alarmvolume_title = lv.label(alarmvolume) +alarmvolume_title.set_pos(0, 10) +alarmvolume_title.set_size(240, 40) +alarmvolume_title.set_text("闹钟铃声") +alarmvolume_title.set_long_mode(lv.label.LONG.WRAP) +alarmvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +alarmvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +alarmvolume_label1 = lv.label(alarmvolume) +alarmvolume_label1.set_pos(10, 70) +alarmvolume_label1.set_size(230, 40) +alarmvolume_label1.set_text("闹钟铃声:") +alarmvolume_label1.set_long_mode(lv.label.LONG.WRAP) +alarmvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) +alarmvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +alarmvolume_bar = lv.bar(alarmvolume) +alarmvolume_bar.set_pos(20, 120) +alarmvolume_bar.set_size(200, 15) +alarmvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) +alarmvolume_bar.set_mode(lv.bar.MODE.NORMAL) +alarmvolume_bar.set_value(50, lv.ANIM.OFF) +alarmvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) +alarmvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) + +alarmvolume_reduce_imgbtn = lv.img(alarmvolume) +alarmvolume_reduce_imgbtn.set_pos(5, 150) +alarmvolume_reduce_imgbtn.set_size(110, 46) +alarmvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) + +alarmvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png") + +alarmvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +alarmvolume_add_imgbtn = lv.img(alarmvolume) +alarmvolume_add_imgbtn.set_pos(125, 150) +alarmvolume_add_imgbtn.set_size(110, 46) +alarmvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) + +alarmvolume_add_imgbtn.set_src("E:/static/add_btn.png") + +alarmvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +# -------------------------------------------msgvolume screen---------------------------------------------------------- +msgvolume_screen = lv.obj() +msgvolume = lv.obj(msgvolume_screen) +msgvolume.center() +msgvolume.set_size(240, 320) +msgvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +msgvolume_title = lv.label(msgvolume) +msgvolume_title.set_pos(0, 10) +msgvolume_title.set_size(240, 40) +msgvolume_title.set_text("消息铃声") +msgvolume_title.set_long_mode(lv.label.LONG.WRAP) +msgvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +msgvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +msgvolume_label1 = lv.label(msgvolume) +msgvolume_label1.set_pos(10, 70) +msgvolume_label1.set_size(230, 40) +msgvolume_label1.set_text("消息铃声:") +msgvolume_label1.set_long_mode(lv.label.LONG.WRAP) +msgvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) +msgvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +msgvolume_bar = lv.bar(msgvolume) +msgvolume_bar.set_pos(20, 120) +msgvolume_bar.set_size(200, 15) +msgvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) +msgvolume_bar.set_mode(lv.bar.MODE.NORMAL) +msgvolume_bar.set_value(50, lv.ANIM.OFF) +msgvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) +msgvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) + +msgvolume_reduce_imgbtn = lv.img(msgvolume) +msgvolume_reduce_imgbtn.set_pos(5, 150) +msgvolume_reduce_imgbtn.set_size(110, 46) +msgvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) + +msgvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png") + +msgvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +msgvolume_add_imgbtn = lv.img(msgvolume) +msgvolume_add_imgbtn.set_pos(125, 150) +msgvolume_add_imgbtn.set_size(110, 46) +msgvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) + +msgvolume_add_imgbtn.set_src("E:/static/add_btn.png") + +msgvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +# -------------------------------------------restore screen---------------------------------------------------------- +restore_screen = lv.obj() +restore = lv.obj(restore_screen) +restore.center() +restore.set_size(240, 320) +restore.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +restore_label = lv.label(restore) +restore_label.set_pos(0, 100) +restore_label.set_size(240, 40) +restore_label.set_text("恢复出厂设置?") +restore_label.set_long_mode(lv.label.LONG.WRAP) +restore_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +restore_confirm = lv.label(restore) +restore_confirm.set_text("确认") +restore_confirm.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +restore_confirm.set_size(120, 40) +restore_confirm.set_pos(0,180) +restore_confirm.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +restore_confirm.add_flag(lv.obj.FLAG.CLICKABLE) +restore_confirm.set_ext_click_area(20) + +restore_cancel = lv.label(restore) +restore_cancel.set_text("返回") +restore_cancel.set_size(120, 40) +restore_cancel.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +restore_cancel.set_pos(120,180) +restore_cancel.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +restore_cancel.add_flag(lv.obj.FLAG.CLICKABLE) +restore_cancel.set_ext_click_area(20) + + + + + +# -------------------------------------------version screen---------------------------------------------------------- +version_screen = lv.obj() +version = lv.obj(version_screen) +version.center() +version.set_size(240, 320) +version.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_msg = "Software Version:\n\ +MMI\n\ +Version:UIX8910_C55_V\n\ +1.0_Release\n\ +Build Time:\n\ +2-17-2023\n\ +9:32:5\n\ +IMEI:\n\ +" + +version_label1 = lv.label(version) +version_label1.set_pos(0, 0) +version_label1.set_size(240, 25) +version_label1.set_long_mode(lv.label.LONG.WRAP) +version_label1.set_text("Software Version:") +version_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label2 = lv.label(version) +version_label2.set_pos(0, 25) +version_label2.set_size(240, 25) +version_label2.set_long_mode(lv.label.LONG.WRAP) +version_label2.set_text("MMI") +version_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label3 = lv.label(version) +version_label3.set_pos(0, 50) +version_label3.set_size(240, 25) +version_label3.set_long_mode(lv.label.LONG.WRAP) +version_label3.set_text("Version:UIX8910_C55_V") +version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label4 = lv.label(version) +version_label4.set_pos(0, 75) +version_label4.set_size(240, 25) +version_label4.set_long_mode(lv.label.LONG.WRAP) +version_label4.set_text("1.0_Release") +version_label4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label5 = lv.label(version) +version_label5.set_pos(0, 100) +version_label5.set_size(240, 25) +version_label5.set_long_mode(lv.label.LONG.WRAP) +version_label5.set_text("Build Time:") +version_label5.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label5.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label6 = lv.label(version) +version_label6.set_pos(0, 125) +version_label6.set_size(240, 25) +version_label6.set_long_mode(lv.label.LONG.WRAP) +version_label6.set_text("2-17-2023") +version_label6.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label6.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label7 = lv.label(version) +version_label7.set_pos(0, 150) +version_label7.set_size(240, 25) +version_label7.set_long_mode(lv.label.LONG.WRAP) +version_label7.set_text("9:32:5") +version_label7.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label7.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label8 = lv.label(version) +version_label8.set_pos(0, 175) +version_label8.set_size(240, 25) +version_label8.set_long_mode(lv.label.LONG.WRAP) +version_label8.set_text("IMEI:") +version_label8.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label8.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +version_label9 = lv.label(version) +version_label9.set_pos(20, 200) +version_label9.set_size(220, 100) +version_label9.set_long_mode(lv.label.LONG.WRAP) +version_label9.set_text(" ") +version_label9.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +version_label9.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + + + +# -------------------------------------------update screen---------------------------------------------------------- +update_screen = lv.obj() +update = lv.obj(update_screen) +update.center() +update.set_size(240, 320) +update.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +update_title = lv.label(update) +update_title.set_pos(0, 10) +update_title.set_size(240, 40) +update_title.set_text("系统更新") +update_title.set_long_mode(lv.label.LONG.WRAP) +update_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +update_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +update_label = lv.label(update) +update_label.set_text(" 检查版本更新!/n 请稍后...") +update_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) +update_label.set_size(240, 50) +update_label.set_pos(0,50) +update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +update_return = lv.label(update) +update_return.set_text("返回") +update_return.set_size(240, 40) +update_return.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +update_return.set_pos(0,240) +update_return.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +update_return.add_flag(lv.obj.FLAG.CLICKABLE) + class RestoreScreen(Screen): NAME = "restore" - #恢复出厂 + def __init__(self): super().__init__() - self.meta = None + self.meta = restore_screen + restore_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None) + restore_cancel.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None) - def initialization(self): - if self.meta == None : - print("RestoreScreen :initialization:self.meta == None") - self.meta = lv.obj() - self.restore = lv.obj(self.meta) - self.restore.center() - self.restore.set_size(240, 320) - self.restore.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.restore_label = lv.label(self.restore) - self.restore_label.set_pos(0, 100) - self.restore_label.set_size(240, 40) - self.restore_label.set_text("恢复出厂设置?") - self.restore_label.set_long_mode(lv.label.LONG.WRAP) - self.restore_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.restore_confirm = lv.label(self.restore) - self.restore_confirm.set_text("确认") - self.restore_confirm.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.restore_confirm.set_size(120, 40) - self.restore_confirm.set_pos(0,180) - self.restore_confirm.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.restore_confirm.add_flag(lv.obj.FLAG.CLICKABLE) - self.restore_confirm.set_ext_click_area(20) - - self.restore_cancel = lv.label(self.restore) - self.restore_cancel.set_text("返回") - self.restore_cancel.set_size(120, 40) - self.restore_cancel.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.restore_cancel.set_pos(120,180) - self.restore_cancel.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.restore_cancel.add_flag(lv.obj.FLAG.CLICKABLE) - self.restore_cancel.set_ext_click_area(20) - - self.restore_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None) - self.restore_cancel.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None) def confirm(self, e): ret = 0 - EventMesh.publish("reset_alipay")#恢复支付宝数据 ret = ql_fs.path_exists("/ext/static/storage_file")#电话本 if ret == True: ql_fs.rmdirs("/ext/static/storage_file") ql_fs.mkdirs("/ext/static/storage_file") - utime.sleep_ms(2000) Power.powerRestart() # EventMesh.publish("load_screen", {"screen": "setting"}) def concel(self, e): EventMesh.publish("load_screen", {"screen": "setting"}) - def Close(self): - self.meta.delete() - self.meta = None - def done_return(self): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -388,53 +853,16 @@ class RestoreScreen(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "setting"}) - + class UpdateScreen(Screen): NAME = "update" def __init__(self): super().__init__() - self.meta = None - #系统更新 - def initialization(self): - if self.meta == None : - print("UpdateScreen :initialization:self.meta == None") - self.meta = lv.obj() - self.update = lv.obj(self.meta) - self.update.center() - self.update.set_size(240, 320) - self.update.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.update_title = lv.label(self.update) - self.update_title.set_pos(0, 10) - self.update_title.set_size(240, 40) - self.update_title.set_text("系统更新") - self.update_title.set_long_mode(lv.label.LONG.WRAP) - self.update_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.update_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.update_label = lv.label(self.update) - self.update_label.set_text(" 检查版本更新!/n 请稍后...") - self.update_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) - self.update_label.set_size(240, 50) - self.update_label.set_pos(0,50) - self.update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.update_return = lv.label(self.update) - self.update_return.set_text("返回") - self.update_return.set_size(240, 40) - self.update_return.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.update_return.set_pos(0,240) - self.update_return.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.update_return.add_flag(lv.obj.FLAG.CLICKABLE) - - self.update_return.add_event_cb(lambda e: self.back(e),lv.EVENT.CLICKED, None) - - def Close(self): - self.meta.delete() - self.meta = None - + self.meta = update_screen + update_return.add_event_cb(lambda e: self.back(e),lv.EVENT.CLICKED, None) + def back(self,e): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -450,110 +878,18 @@ class UpdateScreen(Screen): class VersionScreen(Screen): NAME = "version" - #查看版本 + def __init__(self): super().__init__() - self.meta = None + self.meta = version_screen self.btn_count = 0 - def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.version = lv.obj(self.meta) - self.version.center() - self.version.set_size(240, 320) - self.version.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - # self.version_msg = "Software Version:\n\ - # MMI\n\ - # Version:UIX8910_C55_V\n\ - # 1.0_Release\n\ - # Build Time:\n\ - # 2-17-2023\n\ - # 9:32:5\n\ - # IMEI:\n\ - # " - - self.version_label1 = lv.label(self.version) - self.version_label1.set_pos(0, 0) - self.version_label1.set_size(240, 25) - self.version_label1.set_long_mode(lv.label.LONG.WRAP) - self.version_label1.set_text("Software Version:") - self.version_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label2 = lv.label(self.version) - self.version_label2.set_pos(0, 25) - self.version_label2.set_size(240, 25) - self.version_label2.set_long_mode(lv.label.LONG.WRAP) - self.version_label2.set_text("MMI") - self.version_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label3 = lv.label(self.version) - self.version_label3.set_pos(0, 50) - self.version_label3.set_size(240, 25) - self.version_label3.set_long_mode(lv.label.LONG.WRAP) - self.version_label3.set_text("Version:K5_V") - self.version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label4 = lv.label(self.version) - self.version_label4.set_pos(0, 75) - self.version_label4.set_size(240, 25) - self.version_label4.set_long_mode(lv.label.LONG.WRAP) - self.version_label4.set_text("1.0_Release") - self.version_label4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label5 = lv.label(self.version) - self.version_label5.set_pos(0, 100) - self.version_label5.set_size(240, 25) - self.version_label5.set_long_mode(lv.label.LONG.WRAP) - self.version_label5.set_text("Build Time:") - self.version_label5.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label5.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label6 = lv.label(self.version) - self.version_label6.set_pos(0, 125) - self.version_label6.set_size(240, 25) - self.version_label6.set_long_mode(lv.label.LONG.WRAP) - self.version_label6.set_text("2-17-2023") - self.version_label6.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label6.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label7 = lv.label(self.version) - self.version_label7.set_pos(0, 150) - self.version_label7.set_size(240, 25) - self.version_label7.set_long_mode(lv.label.LONG.WRAP) - self.version_label7.set_text("9:32:5") - self.version_label7.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label7.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label8 = lv.label(self.version) - self.version_label8.set_pos(0, 175) - self.version_label8.set_size(240, 25) - self.version_label8.set_long_mode(lv.label.LONG.WRAP) - self.version_label8.set_text("IMEI:") - self.version_label8.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label8.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.version_label9 = lv.label(self.version) - self.version_label9.set_pos(20, 200) - self.version_label9.set_size(220, 100) - self.version_label9.set_long_mode(lv.label.LONG.WRAP) - self.version_label9.set_text(" ") - self.version_label9.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.version_label9.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - imei = EventMesh.publish(constants.EVENT.GET_IMEI) - self.version_label9.set_text(imei) + version_label9.set_text(imei) def Close(self): self.btn_count = 0 - self.meta.delete() - self.meta = None - + def done_click(self): self.btn_count += 1 if self.btn_count >= 5 : @@ -573,7 +909,50 @@ class VersionScreen(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "setting"}) - +# -------------------------------------------poweroff screen---------------------------------------------------------- +poweroff_screen = lv.obj() +poweroff = lv.obj(poweroff_screen) +poweroff.center() +poweroff.set_size(240, 320) +poweroff.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +poweroff_img = lv.img(poweroff) +poweroff_img.set_pos(100, 30) +poweroff_img.set_size(61, 61) +poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +poweroff_img.set_src("E:/static/poweroff_icon.png") + +poweroff_label = lv.label(poweroff) +poweroff_label.set_text("是否关机?") +poweroff_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +poweroff_label.set_size(240, 20) +poweroff_label.set_pos(0,120) +poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +poweroff_confirm = lv.img(poweroff) +poweroff_confirm.set_size(176, 46) +poweroff_confirm.set_pos(32, 150) +poweroff_confirm.set_src("E:/static/off_icon.png") +poweroff_confirm.add_flag(lv.obj.FLAG.CLICKABLE) +poweroff_confirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +poweroff_confirm.set_ext_click_area(20) + +poweroff_confirm_label = lv.label(poweroff_confirm) +poweroff_confirm_label.set_text("关机") +poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0) +poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +poweroff_return = lv.img(poweroff) +poweroff_return.set_size(176, 46) +poweroff_return.set_pos(32, 210) +poweroff_return.set_src("E:/static/cancel_icon.png") +poweroff_return.add_flag(lv.obj.FLAG.CLICKABLE) +poweroff_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +poweroff_return_label = lv.label(poweroff_return) +poweroff_return_label.set_text("返回") +poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0) +poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +poweroff_return.set_ext_click_area(20) class PoweroffScreen(Screen): @@ -581,64 +960,15 @@ class PoweroffScreen(Screen): def __init__(self): super().__init__() - self.meta = None + self.meta = poweroff_screen self.timer = osTimer() self.button_flag = 0 - + poweroff_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None) + poweroff_return.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None) def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.poweroff = lv.obj(self.meta) - self.poweroff.center() - self.poweroff.set_size(240, 320) - self.poweroff.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.poweroff_img = lv.img(self.poweroff) - self.poweroff_img.set_pos(100, 30) - self.poweroff_img.set_size(61, 61) - self.poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.poweroff_img.set_src("E:/static/poweroff_icon.png") - - self.poweroff_label = lv.label(self.poweroff) - self.poweroff_label.set_text("是否关机?") - self.poweroff_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.poweroff_label.set_size(240, 20) - self.poweroff_label.set_pos(0,120) - self.poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.poweroff_confirm = lv.img(self.poweroff) - self.poweroff_confirm.set_size(176, 46) - self.poweroff_confirm.set_pos(32, 150) - self.poweroff_confirm.set_src("E:/static/off_icon.png") - self.poweroff_confirm.add_flag(lv.obj.FLAG.CLICKABLE) - self.poweroff_confirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.poweroff_confirm.set_ext_click_area(20) - - self.poweroff_confirm_label = lv.label(self.poweroff_confirm) - self.poweroff_confirm_label.set_text("关机") - self.poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0) - self.poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.poweroff_return = lv.img(self.poweroff) - self.poweroff_return.set_size(176, 46) - self.poweroff_return.set_pos(32, 210) - self.poweroff_return.set_src("E:/static/cancel_icon.png") - self.poweroff_return.add_flag(lv.obj.FLAG.CLICKABLE) - self.poweroff_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.poweroff_return_label = lv.label(self.poweroff_return) - self.poweroff_return_label.set_text("返回") - self.poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0) - self.poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.poweroff_return.set_ext_click_area(20) - - self.poweroff_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None) - self.poweroff_return.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None) - - def Close(self): - self.meta.delete() - self.meta = None - + pass + def done_return(self): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -657,35 +987,27 @@ class PoweroffScreen(Screen): +poweroff_confirm_screen = lv.obj() +poweroff_confirm = lv.obj(poweroff_confirm_screen) +poweroff_confirm.center() +poweroff_confirm.set_size(240, 320) +poweroff_confirm.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) +poweroff_confirm_label = lv.label(poweroff_confirm) +poweroff_confirm_label.set_text("Goodbye") +poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0) +poweroff_confirm_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT) class PoweroffConfirmScreen(Screen): NAME = "poweroff_comfirm" def __init__(self): super().__init__() - self.meta = None + self.meta = poweroff_confirm_screen self.timer = osTimer() - def initialization(self): - if self.meta == None : - self.meta = lv.obj() - self.poweroff_confirm = lv.obj(self.meta) - self.poweroff_confirm.center() - self.poweroff_confirm.set_size(240, 320) - self.poweroff_confirm.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.poweroff_confirm_label = lv.label(self.poweroff_confirm) - self.poweroff_confirm_label.set_text("Goodbye") - self.poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0) - self.poweroff_confirm_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT) - self.timer.start(2*1000,0,self.power_off) - def Close(self): - self.meta.delete() - self.meta = None - def power_off(self,*args): Power.powerDown() @@ -697,88 +1019,55 @@ class PoweroffConfirmScreen(Screen): def btn8_press(self): pass + + +class LanguageScreen(Screen): + NAME = "language" + + def __init__(self): + super().__init__() + self.meta = language_screen + + def done_return(self): + EventMesh.publish("load_screen", {"screen": "setting"}) + + def btn1_release(self): + EventMesh.publish("load_screen", {"screen": "main_menu"}) + + def btn8_press(self): + EventMesh.publish("load_screen", {"screen": "setting"}) + + class DialswitchScreen(Screen): NAME = "dialswitch" - #表盘切换 + def __init__(self): super().__init__() - self.meta = None + self.meta = dialswitch_screen self.read_data = {} self.watchface_style_num = "Watchface1" - - def initialization(self): - if self.meta == None: - print("DialswitchScreen:initialization:self.meta == None") - self.meta = lv.obj() - self.dialswitch = lv.obj(self.meta) - self.dialswitch.center() - self.dialswitch.set_size(240, 320) - self.dialswitch.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.dialswitch_title = lv.label(self.dialswitch) - self.dialswitch_title.set_pos(0, 10) - self.dialswitch_title.set_size(240, 40) - self.dialswitch_title.set_text("表盘切换") - self.dialswitch_title.set_long_mode(lv.label.LONG.WRAP) - self.dialswitch_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.dialswitch_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.dialswitch_btn1 = lv.btn(self.dialswitch) - self.dialswitch_btn1.set_size(240,54) - self.dialswitch_btn1.set_pos(0, 50) - self.dialswitch_btn1.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) - self.dialswitch_btn1.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.dialswitch_btn1_label = lv.label(self.dialswitch_btn1) - self.dialswitch_btn1_label.set_text("表盘1") - self.dialswitch_btn1_label.align(lv.ALIGN.LEFT_MID, 10, 0) - self.dialswitch_btn1_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.dialswitch_btn2 = lv.btn(self.dialswitch) - self.dialswitch_btn2.set_size(240,54) - self.dialswitch_btn2.set_pos(0, 104) - self.dialswitch_btn2.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED) - self.dialswitch_btn2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - self.dialswitch_btn2_label = lv.label(self.dialswitch_btn2) - self.dialswitch_btn2_label.set_text("表盘2") - self.dialswitch_btn2_label.align(lv.ALIGN.LEFT_MID, 10, 0) - self.dialswitch_btn2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.btn1_switch = lv.switch(self.dialswitch_btn1) - self.btn1_switch.set_pos(185, 3) - self.btn1_switch.set_size(10, 10) - self.btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR) - self.btn1_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED) - self.btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB) - - self.btn2_switch = lv.switch(self.dialswitch_btn2) - self.btn2_switch.set_pos(185, 3) - self.btn2_switch.set_size(10, 10) - self.btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR) - self.btn2_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED) - self.btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB) - self.dialswitch_btn1.add_event_cb(lambda e: self.watchface01(e), - lv.EVENT.PRESSED, None) - - self.dialswitch_btn2.add_event_cb(lambda e: self.watchface02(e), - lv.EVENT.PRESSED, None) - + dialswitch_btn1.add_event_cb(lambda e: self.watchface01(e), + lv.EVENT.PRESSED, None) + dialswitch_btn2.add_event_cb(lambda e: self.watchface02(e), + lv.EVENT.PRESSED, None) + def initialization(self): self.read_data = EventMesh.publish("get_storage_data") if self.read_data != {}: b = str("watchface") in self.read_data.keys() if b == True: self.watchface_style_num = self.read_data["watchface"] if self.watchface_style_num == "Watchface1": - self.btn1_switch.add_state(lv.STATE.CHECKED) - self.btn2_switch.clear_state(lv.STATE.CHECKED) + btn1_switch.add_state(lv.STATE.CHECKED) + btn2_switch.clear_state(lv.STATE.CHECKED) else: - self.btn1_switch.clear_state(lv.STATE.CHECKED) - self.btn2_switch.add_state(lv.STATE.CHECKED) + btn1_switch.clear_state(lv.STATE.CHECKED) + btn2_switch.add_state(lv.STATE.CHECKED) def watchface01(self,e): - self.btn1_switch.add_state(lv.STATE.CHECKED) - self.btn2_switch.clear_state(lv.STATE.CHECKED) + btn1_switch.add_state(lv.STATE.CHECKED) + btn2_switch.clear_state(lv.STATE.CHECKED) self.read_data["watchface"] = "Watchface1" EventMesh.publish("set_storage_data", self.read_data) with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd: @@ -788,8 +1077,8 @@ class DialswitchScreen(Screen): EventMesh.publish("load_screen", {"screen": "main_menu"}) def watchface02(self,e): - self.btn1_switch.clear_state(lv.STATE.CHECKED) - self.btn2_switch.add_state(lv.STATE.CHECKED) + btn1_switch.clear_state(lv.STATE.CHECKED) + btn2_switch.add_state(lv.STATE.CHECKED) self.read_data["watchface"] = "Watchface2" EventMesh.publish("set_storage_data", self.read_data) with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd: @@ -806,51 +1095,79 @@ class DialswitchScreen(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "setting"}) - def Close(self): - self.meta.delete() - self.meta = None +class ThemeswitchScreen(Screen): + NAME = "themeswitch" + + def __init__(self): + super().__init__() + self.meta = menustyle_screen + menustyle_btn1.add_event_cb(lambda e: self.fun1(e), + lv.EVENT.PRESSED, None) + + menustyle_btn2.add_event_cb(lambda e: self.fun2(e), + lv.EVENT.PRESSED, None) + + def fun1(self,e): + menu_btn1_switch.add_state(lv.STATE.CHECKED) + menu_btn2_switch.clear_state(lv.STATE.CHECKED) + EventMesh.publish("change_style", "MainMenu1") + EventMesh.publish("load_screen", {"screen": "main_menu"}) + + def fun2(self,e): + menu_btn1_switch.clear_state(lv.STATE.CHECKED) + menu_btn2_switch.add_state(lv.STATE.CHECKED) + EventMesh.publish("change_style", "MainMenu2") + EventMesh.publish("load_screen", {"screen": "main_menu"}) + + def done_return(self): + EventMesh.publish("load_screen", {"screen": "main_menu"}) + + def btn1_release(self): + EventMesh.publish("load_screen", {"screen": "main_menu"}) + + def btn8_press(self): + EventMesh.publish("load_screen", {"screen": "setting"}) + +# -------------------------------------------imei screen---------------------------------------------------------- +imei_screen = lv.obj() +imei = lv.obj(imei_screen) +imei.center() +imei.set_size(240, 320) +imei.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) +fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) + +imei_qr = lv.qrcode(imei, 150, fg_color, bg_color) +imei_qr.center() +# Add a border with bg_color +imei_qr.set_style_border_color(bg_color, 0) +imei_qr.set_style_border_width(5, 0) + + +imei_label = lv.label(imei) +imei_label.set_pos(0, 280) +imei_label.set_size(240, 20) +imei_label.set_text(" ") +imei_label.set_long_mode(lv.label.LONG.WRAP) +imei_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) class ImeiScreen(Screen): NAME = "imei" def __init__(self): super().__init__() - self.meta = None + self.meta = imei_screen def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.imei = lv.obj(self.meta) - self.imei.center() - self.imei.set_size(240, 320) - self.imei.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5) - fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4) - - self.imei_qr = lv.qrcode(self.imei, 150, fg_color, bg_color) - self.imei_qr.center() - # Add a border with bg_color - self.imei_qr.set_style_border_color(bg_color, 0) - self.imei_qr.set_style_border_width(5, 0) - - - self.imei_label = lv.label(self.imei) - self.imei_label.set_pos(0, 280) - self.imei_label.set_size(240, 20) - self.imei_label.set_text(" ") - self.imei_label.set_long_mode(lv.label.LONG.WRAP) - self.imei_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - self.imei = EventMesh.publish(constants.EVENT.GET_IMEI) - self.imei_qr_data = str(self.imei) - self.imei_qr.update(self.imei_qr_data,len(self.imei_qr_data)) - self.imei_label.set_text(self.imei) - def Close(self): - self.meta.delete() - self.meta = None + imei = EventMesh.publish(constants.EVENT.GET_IMEI) + imei_qr_data = str(imei) + imei_qr.update(imei_qr_data,len(imei_qr_data)) + imei_label.set_text(imei) + def done_return(self): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -866,44 +1183,11 @@ class AppScreen(Screen): def __init__(self): super().__init__() - self.meta = None + self.meta = app_screen def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.meta.center() - self.meta.set_size(240, 320) - self.meta.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.app_img = lv.img(self.meta) - self.app_img.set_pos(int(20),int(40)) - self.app_img.set_size(200,200) - self.app_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.app_img.add_flag(lv.obj.FLAG.CLICKABLE) - self.app_img.set_src("E:/static/IMAGE_APP_QR_CODE.png") - self.app_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT) - # app_qr = lv.qrcode(imei, 150, fg_color, bg_color) - # app_qr.center() - # Add a border with bg_color - # app_qr.set_style_border_color(bg_color, 0) - # app_qr.set_style_border_width(5, 0) - # app_qr_data = str("https://fangzoudiu.xcloudtech.com/xiao_jian") - # app_qr.update(app_qr_data,len(app_qr_data)) - - self.app_label = lv.label(self.meta ) - self.app_label.set_pos(0, 280) - self.app_label.set_size(240, 20) - self.app_label.set_text(" ") - self.app_label.set_long_mode(lv.label.LONG.WRAP) - self.app_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - imei = EventMesh.publish(constants.EVENT.GET_IMEI) - self.app_label.set_text(imei) - - def Close(self): - self.meta.delete() - self.meta = None - + app_label.set_text(imei) + def done_return(self): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -912,74 +1196,70 @@ class AppScreen(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "setting"}) - +# -------------------------------------------brightness screen---------------------------------------------------------- +brightness_screen = lv.obj() +brightness = lv.obj(brightness_screen) +brightness.center() +brightness.set_size(240, 320) +brightness.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + + +brightness_title = lv.label(brightness) +brightness_title.set_pos(0, 10) +brightness_title.set_size(240, 40) +brightness_title.set_text("屏幕调节") +brightness_title.set_long_mode(lv.label.LONG.WRAP) +brightness_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +brightness_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +brightness_label1 = lv.label(brightness) +brightness_label1.set_pos(10, 70) +brightness_label1.set_size(230, 40) +brightness_label1.set_text("亮度:") +brightness_label1.set_long_mode(lv.label.LONG.WRAP) +brightness_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) +brightness_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +brightness_bar = lv.bar(brightness) +brightness_bar.set_pos(20, 120) +brightness_bar.set_size(200, 15) +brightness_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) +brightness_bar.set_mode(lv.bar.MODE.NORMAL) +brightness_bar.set_value(50, lv.ANIM.OFF) +brightness_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) +brightness_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) + +brightness_reduce_imgbtn = lv.img(brightness) +brightness_reduce_imgbtn.set_pos(5, 150) +brightness_reduce_imgbtn.set_size(110, 46) +brightness_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) + +brightness_reduce_imgbtn.set_src("E:/static/reduce_btn.png") + +brightness_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +brightness_add_imgbtn = lv.img(brightness) +brightness_add_imgbtn.set_pos(125, 150) +brightness_add_imgbtn.set_size(110, 46) +brightness_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) +brightness_add_imgbtn.set_src("E:/static/add_btn.png") +brightness_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) class BrightnessScreen(Screen): NAME = "brightness" - #屏幕设置 + def __init__(self): super().__init__() self.level = 0 - self.meta = None - - def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.brightness = lv.obj(self.meta) - self.brightness.center() - self.brightness.set_size(240, 320) - self.brightness.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - - self.brightness_title = lv.label(self.brightness) - self.brightness_title.set_pos(0, 10) - self.brightness_title.set_size(240, 40) - self.brightness_title.set_text("屏幕调节") - self.brightness_title.set_long_mode(lv.label.LONG.WRAP) - self.brightness_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.brightness_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.brightness_label1 = lv.label(self.brightness) - self.brightness_label1.set_pos(10, 70) - self.brightness_label1.set_size(230, 40) - self.brightness_label1.set_text("亮度:") - self.brightness_label1.set_long_mode(lv.label.LONG.WRAP) - self.brightness_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) - self.brightness_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.brightness_bar = lv.bar(self.brightness) - self.brightness_bar.set_pos(20, 120) - self.brightness_bar.set_size(200, 15) - self.brightness_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) - self.brightness_bar.set_mode(lv.bar.MODE.NORMAL) - self.brightness_bar.set_value(50, lv.ANIM.OFF) - self.brightness_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) - self.brightness_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) - - self.brightness_reduce_imgbtn = lv.img(self.brightness) - self.brightness_reduce_imgbtn.set_pos(5, 150) - self.brightness_reduce_imgbtn.set_size(110, 46) - self.brightness_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - - self.brightness_reduce_imgbtn.set_src("E:/static/reduce_btn.png") - - self.brightness_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - - - self.brightness_add_imgbtn = lv.img(self.brightness) - self.brightness_add_imgbtn.set_pos(125, 150) - self.brightness_add_imgbtn.set_size(110, 46) - self.brightness_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - self.brightness_add_imgbtn.set_src("E:/static/add_btn.png") - self.brightness_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.brightness_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + self.meta = brightness_screen + brightness_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + lv.EVENT.CLICKED, None) + brightness_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), lv.EVENT.CLICKED, None) - self.brightness_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), - lv.EVENT.CLICKED, None) - + def initialization(self): self.level = EventMesh.publish("get_brightness_level") self.show_bar() - def add_level(self, e): EventMesh.publish("push_add_brightness_level") self.level = EventMesh.publish("get_brightness_level") @@ -993,12 +1273,9 @@ class BrightnessScreen(Screen): def show_bar(self): if self.level == None: self.level = 5 - self.brightness_bar.set_value((100 // 10) * self.level, lv.ANIM.OFF) + brightness_bar.set_value((100 // 10) * self.level, lv.ANIM.OFF) - def Close(self): - self.meta.delete() - self.meta = None - + def done_return(self): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -1014,55 +1291,10 @@ class VolumeScreen(Screen): def __init__(self): super().__init__() - self.meta = None - - - # -------------------------------------------volume screen---------------------------------------------------------- - def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.volume = lv.obj(self.meta) - self.volume.center() - self.volume.set_size(240, 320) - self.volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.volume_phone_btn = lv.btn(self.volume) - self.volume_phone_btn.set_size(240,40) - self.volume_phone_btn.set_pos(0,30) - self.volume_phone_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.volume_phone_label = lv.label(self.volume_phone_btn) - self.volume_phone_label.set_text("电话铃声") - self.volume_phone_label.align(lv.ALIGN.CENTER, 0, 0) - self.volume_phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.volume_alarm_btn = lv.btn(self.self.volume) - self.volume_alarm_btn.set_size(240,40) - self.volume_alarm_btn.set_pos(0,100) - self.volume_alarm_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.volume_alarm_label = lv.label(self.volume_alarm_btn) - self.volume_alarm_label.set_text("闹钟铃声") - self.volume_alarm_label.align(lv.ALIGN.CENTER, 0, 0) - self.volume_alarm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.volume_message_btn = lv.btn(self.volume) - self.volume_message_btn.set_size(240,40) - self.volume_message_btn.set_pos(0,170) - self.volume_message_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.volume_message_label = lv.label(self.volume_message_btn) - self.volume_message_label.set_text("消息铃声") - self.volume_message_label.align(lv.ALIGN.CENTER, 0, 0) - self.volume_message_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.volume_phone_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "phonering"}), lv.EVENT.CLICKED, None) - self.volume_message_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "msgvolume"}), lv.EVENT.CLICKED, None) - self.volume_alarm_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "alarmvolume"}), lv.EVENT.CLICKED, None) - - def Close(self): - self.meta.delete() - self.meta = None + self.meta = volume_screen + volume_phone_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "phonering"}), lv.EVENT.CLICKED, None) + volume_message_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "msgvolume"}), lv.EVENT.CLICKED, None) + volume_alarm_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "alarmvolume"}), lv.EVENT.CLICKED, None) def done_return(self): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -1081,65 +1313,13 @@ class PhoneringScreen(Screen): def __init__(self): super().__init__() self.level = 0 - self.meta = None - - def initialization(self): - if self.meta == None: - self.meta = lv.obj() - self.phonering = lv.obj(self.meta) - self.phonering.center() - self.phonering.set_size(240, 320) - self.phonering.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.phonering_title = lv.label(self.phonering) - self.phonering_title.set_pos(0, 10) - self.phonering_title.set_size(240, 40) - self.phonering_title.set_text("电话铃声") - self.phonering_title.set_long_mode(lv.label.LONG.WRAP) - self.phonering_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.phonering_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.phonering_label1 = lv.label(self.phonering) - self.phonering_label1.set_pos(10, 70) - self.phonering_label1.set_size(230, 40) - self.phonering_label1.set_text("电话铃声:") - self.phonering_label1.set_long_mode(lv.label.LONG.WRAP) - self.phonering_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) - self.phonering_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.phonering_bar = lv.bar(self.phonering) - self.phonering_bar.set_pos(20, 120) - self.phonering_bar.set_size(200, 15) - self.phonering_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) - self.phonering_bar.set_mode(lv.bar.MODE.NORMAL) - self.phonering_bar.set_value(50, lv.ANIM.OFF) - self.phonering_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) - self.phonering_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) - - self.phonering_reduce_imgbtn = lv.img(self.phonering) - self.phonering_reduce_imgbtn.set_pos(0, 150) - self.phonering_reduce_imgbtn.set_size(110, 46) - self.phonering_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - self.phonering_reduce_imgbtn.set_src("E:/static/reduce_btn.png") - self.phonering_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - - - self.phonering_add_imgbtn = lv.img(self.phonering) - self.phonering_add_imgbtn.set_pos(120, 150) - self.phonering_add_imgbtn.set_size(110, 46) - self.phonering_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - - self.phonering_add_imgbtn.set_src("E:/static/add_btn.png") - - self.phonering_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.phonering_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + self.meta = phonering_screen + phonering_add_imgbtn.add_event_cb(lambda e: self.add_level(e), lv.EVENT.CLICKED, None) - self.phonering_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), - lv.EVENT.CLICKED, None) - self.phonering_add_imgbtn.set_ext_click_area(20) - self.phonering_reduce_imgbtn.set_ext_click_area(20) - self.level = EventMesh.publish("get_phonering_level") - self.show_bar() + phonering_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), + lv.EVENT.CLICKED, None) + phonering_add_imgbtn.set_ext_click_area(20) + phonering_reduce_imgbtn.set_ext_click_area(20) def add_level(self, e): EventMesh.publish("push_add_phonering_level") @@ -1152,11 +1332,11 @@ class PhoneringScreen(Screen): self.show_bar() def show_bar(self): - self.phonering_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF) + phonering_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF) - def Close(self): - self.meta.delete() - self.meta = None + def initialization(self): + self.level = EventMesh.publish("get_phonering_level") + self.show_bar() def done_return(self): EventMesh.publish("load_screen", {"screen": "volume"}) @@ -1180,67 +1360,11 @@ class AlarmvolumeScreen(Screen): def __init__(self): super().__init__() self.level = 0 - self.meta = None - - def initialization(self): - if self.meta == None: - # -------------------------------------------alarmvolume screen---------------------------------------------------------- - self.meta = lv.obj() - self.alarmvolume = lv.obj(self.meta) - self.alarmvolume.center() - self.alarmvolume.set_size(240, 320) - self.alarmvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.alarmvolume_title = lv.label(self.alarmvolume) - self.alarmvolume_title.set_pos(0, 10) - self.alarmvolume_title.set_size(240, 40) - self.alarmvolume_title.set_text("闹钟铃声") - self.alarmvolume_title.set_long_mode(lv.label.LONG.WRAP) - self.alarmvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.alarmvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.alarmvolume_label1 = lv.label(self.alarmvolume) - self.alarmvolume_label1.set_pos(10, 70) - self.alarmvolume_label1.set_size(230, 40) - self.alarmvolume_label1.set_text("闹钟铃声:") - self.alarmvolume_label1.set_long_mode(lv.label.LONG.WRAP) - self.alarmvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) - self.alarmvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.alarmvolume_bar = lv.bar(self.alarmvolume) - self.alarmvolume_bar.set_pos(20, 120) - self.alarmvolume_bar.set_size(200, 15) - self.alarmvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) - self.alarmvolume_bar.set_mode(lv.bar.MODE.NORMAL) - self.alarmvolume_bar.set_value(50, lv.ANIM.OFF) - self.alarmvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) - self.alarmvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) - - self.alarmvolume_reduce_imgbtn = lv.img(self.alarmvolume) - self.alarmvolume_reduce_imgbtn.set_pos(5, 150) - self.alarmvolume_reduce_imgbtn.set_size(110, 46) - self.alarmvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - - self.alarmvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png") - - self.alarmvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - - - self.alarmvolume_add_imgbtn = lv.img(self.alarmvolume) - self.alarmvolume_add_imgbtn.set_pos(125, 150) - self.alarmvolume_add_imgbtn.set_size(110, 46) - self.alarmvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - - self.alarmvolume_add_imgbtn.set_src("E:/static/add_btn.png") - self.alarmvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e), - lv.EVENT.CLICKED, None) - self.alarmvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), - lv.EVENT.CLICKED, None) - - self.alarmvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.level = EventMesh.publish("get_alarmvolume_level") - self.show_bar() - + self.meta = alarmvolume_screen + alarmvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + lv.EVENT.CLICKED, None) + alarmvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), + lv.EVENT.CLICKED, None) def add_level(self, e): EventMesh.publish("push_add_alarmvolume_level") @@ -1253,12 +1377,12 @@ class AlarmvolumeScreen(Screen): self.show_bar() def show_bar(self): - self.alarmvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF) - - def Close(self): - self.meta.delete() - self.meta = None + alarmvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF) + def initialization(self): + self.level = EventMesh.publish("get_alarmvolume_level") + self.show_bar() + def done_return(self): EventMesh.publish("load_screen", {"screen": "volume"}) @@ -1276,68 +1400,12 @@ class MsgvolumeScreen(Screen): def __init__(self): super().__init__() self.level = 0 - self.meta = None - - def initialization(self): - if self.meta == None: - # -------------------------------------------msgvolume screen---------------------------------------------------------- - self.meta = lv.obj() - self.msgvolume = lv.obj(self.meta) - self.msgvolume.center() - self.msgvolume.set_size(240, 320) - self.msgvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.msgvolume_title = lv.label(self.msgvolume) - self.msgvolume_title.set_pos(0, 10) - self.msgvolume_title.set_size(240, 40) - self.msgvolume_title.set_text("消息铃声") - self.msgvolume_title.set_long_mode(lv.label.LONG.WRAP) - self.msgvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.msgvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.msgvolume_label1 = lv.label(self.msgvolume) - self.msgvolume_label1.set_pos(10, 70) - self.msgvolume_label1.set_size(230, 40) - self.msgvolume_label1.set_text("消息铃声:") - self.msgvolume_label1.set_long_mode(lv.label.LONG.WRAP) - self.msgvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) - self.msgvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.msgvolume_bar = lv.bar(self.msgvolume) - self.msgvolume_bar.set_pos(20, 120) - self.msgvolume_bar.set_size(200, 15) - self.msgvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) - self.msgvolume_bar.set_mode(lv.bar.MODE.NORMAL) - self.msgvolume_bar.set_value(50, lv.ANIM.OFF) - self.msgvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) - self.msgvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) - - self.msgvolume_reduce_imgbtn = lv.img(self.msgvolume) - self.msgvolume_reduce_imgbtn.set_pos(5, 150) - self.msgvolume_reduce_imgbtn.set_size(110, 46) - self.msgvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - - self.msgvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png") - - self.msgvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - - - self.msgvolume_add_imgbtn = lv.img(self.msgvolume) - self.msgvolume_add_imgbtn.set_pos(125, 150) - self.msgvolume_add_imgbtn.set_size(110, 46) - self.msgvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - - self.msgvolume_add_imgbtn.set_src("E:/static/add_btn.png") - - self.msgvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.msgvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + self.meta = msgvolume_screen + msgvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e), lv.EVENT.CLICKED, None) - self.msgvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), + msgvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), lv.EVENT.CLICKED, None) - self.level = EventMesh.publish("get_msgvolume_level") - self.show_bar() - def add_level(self, e): EventMesh.publish("push_add_msgvolume_level") self.level = EventMesh.publish("get_msgvolume_level") @@ -1349,11 +1417,11 @@ class MsgvolumeScreen(Screen): self.show_bar() def show_bar(self): - self.msgvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF) + msgvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF) - def Close(self): - self.meta.delete() - self.meta = None + def initialization(self): + self.level = EventMesh.publish("get_msgvolume_level") + self.show_bar() def done_return(self): EventMesh.publish("load_screen", {"screen": "volume"}) @@ -1366,73 +1434,70 @@ class MsgvolumeScreen(Screen): - +#-----------------------------------------Total--volum------------------------------- + +volume_adjust_screen = lv.obj() +volume_adjust_volume = lv.obj(volume_adjust_screen) +volume_adjust_volume.center() +volume_adjust_volume.set_size(240, 320) +volume_adjust_volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + +totalvolume_title = lv.label(volume_adjust_volume) +totalvolume_title.set_pos(0, 10) +totalvolume_title.set_size(240, 40) +totalvolume_title.set_text("铃声调节") +totalvolume_title.set_long_mode(lv.label.LONG.WRAP) +totalvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +totalvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +totalvolume_label1 = lv.label(volume_adjust_volume) +totalvolume_label1.set_pos(10, 70) +totalvolume_label1.set_size(230, 40) +totalvolume_label1.set_text("铃声:") +totalvolume_label1.set_long_mode(lv.label.LONG.WRAP) +totalvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) +totalvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + +totalvolume_bar = lv.bar(volume_adjust_volume) +totalvolume_bar.set_pos(20, 120) +totalvolume_bar.set_size(200, 15) +totalvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) +totalvolume_bar.set_mode(lv.bar.MODE.NORMAL) +totalvolume_bar.set_value(50, lv.ANIM.OFF) +totalvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) +totalvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) + +totalvolume_reduce_imgbtn = lv.img(volume_adjust_volume) +totalvolume_reduce_imgbtn.set_pos(5, 150) +totalvolume_reduce_imgbtn.set_size(110, 46) +totalvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) +totalvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png") +totalvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) + + +totalvolume_add_imgbtn = lv.img(volume_adjust_volume) +totalvolume_add_imgbtn.set_pos(125, 150) +totalvolume_add_imgbtn.set_size(110, 46) +totalvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) +totalvolume_add_imgbtn.set_src("E:/static/add_btn.png") +totalvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) class totalvolumeScreen(Screen): NAME = "totalvolume" def __init__(self): super().__init__() - self.meta = None - + self.meta = volume_adjust_screen + totalvolume_add_imgbtn.add_event_cb(lambda e: self.add_volum_size(e), + lv.EVENT.CLICKED, None) + totalvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_volum_size(e), + lv.EVENT.CLICKED, None) self.read_data = {} self.volum_size = 8 self.aud = audio.Audio(0) self.aud.set_pa(Pin.GPIO29) def initialization(self): - #-----------------------------------------Total--volum------------------------------- - if self.meta == None: - self.meta = lv.obj() - self.volume_adjust_volume = lv.obj(self.meta) - self.volume_adjust_volume.center() - self.volume_adjust_volume.set_size(240, 320) - self.volume_adjust_volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.totalvolume_title = lv.label(self.volume_adjust_volume) - self.totalvolume_title.set_pos(0, 10) - self.totalvolume_title.set_size(240, 40) - self.totalvolume_title.set_text("铃声调节") - self.totalvolume_title.set_long_mode(lv.label.LONG.WRAP) - self.totalvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) - self.totalvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.totalvolume_label1 = lv.label(self.volume_adjust_volume) - self.totalvolume_label1.set_pos(10, 70) - self.totalvolume_label1.set_size(230, 40) - self.totalvolume_label1.set_text("铃声:") - self.totalvolume_label1.set_long_mode(lv.label.LONG.WRAP) - self.totalvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) - self.totalvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - self.totalvolume_bar = lv.bar(self.volume_adjust_volume) - self.totalvolume_bar.set_pos(20, 120) - self.totalvolume_bar.set_size(200, 15) - self.totalvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT) - self.totalvolume_bar.set_mode(lv.bar.MODE.NORMAL) - self.totalvolume_bar.set_value(50, lv.ANIM.OFF) - self.totalvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT) - self.totalvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT) - - self.totalvolume_reduce_imgbtn = lv.img(self.volume_adjust_volume) - self.totalvolume_reduce_imgbtn.set_pos(5, 150) - self.totalvolume_reduce_imgbtn.set_size(110, 46) - self.totalvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - self.totalvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png") - self.totalvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - - - self.totalvolume_add_imgbtn = lv.img(self.volume_adjust_volume) - self.totalvolume_add_imgbtn.set_pos(125, 150) - self.totalvolume_add_imgbtn.set_size(110, 46) - self.totalvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) - self.totalvolume_add_imgbtn.set_src("E:/static/add_btn.png") - self.totalvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - self.totalvolume_add_imgbtn.add_event_cb(lambda e: self.add_volum_size(e), - lv.EVENT.CLICKED, None) - self.totalvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_volum_size(e), - lv.EVENT.CLICKED, None) - self.read_data = EventMesh.publish("get_storage_data") print("self.read_data:{}".format(self.read_data)) num = EventMesh.publish("get_volum_size") @@ -1455,7 +1520,7 @@ class totalvolumeScreen(Screen): self.show_bar(1) def show_bar(self,msg): - self.totalvolume_bar.set_value((100 // 11) * self.volum_size, lv.ANIM.OFF) + totalvolume_bar.set_value((100 // 11) * self.volum_size, lv.ANIM.OFF) if msg == 1: self.read_data = EventMesh.publish("get_storage_data") self.read_data["volum"] = self.volum_size @@ -1469,8 +1534,7 @@ class totalvolumeScreen(Screen): def Close(self): self.aud.stop() - self.meta.delete() - self.meta = None + def done_return(self): self.aud.stop() EventMesh.publish("load_screen", {"screen": "setting"})