From: p15692025051 <846603105@qq.com> Date: Mon, 17 Apr 2023 12:22:30 +0000 (+0800) Subject: 表盘整合到主菜单 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=e8d2ce41a33e1b77a7516d02aed1a66bff5e331a;p=mirrors%2FASR1603_G5.git 表盘整合到主菜单 --- diff --git a/3.code/1.watch/2.code/ui_WatchFaceScreen.py b/3.code/1.watch/2.code/ui_WatchFaceScreen.py index 0ce62bde..7ecebe86 100644 --- a/3.code/1.watch/2.code/ui_WatchFaceScreen.py +++ b/3.code/1.watch/2.code/ui_WatchFaceScreen.py @@ -4,7 +4,7 @@ import lvgl as lv from ext import EventMesh import osTimer from ext import constants -from ext.ui import Screen +from ext.ui import Screen,style_screen style_font_youyuan_20 = lv.style_t() style_font_youyuan_20.init() @@ -13,20 +13,23 @@ style_font_youyuan_20.set_text_font_v2("font_20.bin",20,0) class Watchface2(): NAME = "Watchface2" - # # #表盘1 - def __init__(self): + # # #表盘2 + def __init__(self,main_menu): print("Watchface2:__init__") - - self.meta = lv.obj() + + 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) + # # 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(self.watchface_default, lv.PART.MAIN|lv.STATE.DEFAULT) - + 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)) @@ -36,7 +39,7 @@ class Watchface2(): #状态栏 self.watchface_mpsignal_img = lv.img(self.meta) - self.watchface_mpsignal_img.set_pos(int(0),int(0)) + 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) @@ -52,100 +55,312 @@ class Watchface2(): 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(190),int(0)) - self.watchface_res_stat_charge_in_img.set_size(10,18) + 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(50),int(50)) + self.watchface1_bg_img.set_size(140,140) + 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/time_finish.png") + self.watchface1_bg_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) #时间 - x = 10 - y = 60 + 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(56,56) + 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_2/time/1.png") + 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+60),int(y)) - self.watchface1_time2_img.set_size(56,56) + 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_2/time/3.png") + 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),int(y + 5 + 56)) - self.watchface1_time4_img.set_size(56,56) + 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_2/time/2.png") + 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+60),int(y+5+56)) - self.watchface1_time5_img.set_size(56,56) + 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_2/time/3.png") + 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_style_default = lv.style_t() + self.watchface1_style_default.init() + self.watchface1_style_default.set_radius(0) + self.watchface1_style_default.set_bg_color(lv.color_make(0x21,0x95,0xf6)) + self.watchface1_style_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6)) + self.watchface1_style_default.set_bg_grad_dir(lv.GRAD_DIR.NONE) + self.watchface1_style_default.set_bg_opa(0) + self.watchface1_style_default.set_border_color(lv.color_make(0x00,0x00,0x00)) + self.watchface1_style_default.set_border_width(0) + self.watchface1_style_default.set_border_opa(255) + self.watchface1_style_default.set_pad_left(0) + self.watchface1_style_default.set_pad_right(0) + self.watchface1_style_default.set_pad_top(0) + self.watchface1_style_default.set_pad_bottom(0) + self.watchface1_style_default.set_text_font_v2("font_18.bin",18,0) #将外部字体库与该style对象绑定 + #日期 + self.watchface1_date = lv.spangroup(self.meta) + self.watchface1_date.set_pos(int(24),int(131)) + self.watchface1_date.set_size(84,25) + self.watchface1_date.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) + self.watchface1_date.set_align(lv.TEXT_ALIGN.LEFT) + self.watchface1_date.set_overflow(lv.SPAN_OVERFLOW.CLIP) + self.watchface1_date.set_mode(lv.SPAN_MODE.BREAK) + self.watchface1_date_span = self.watchface1_date.new_span() + self.watchface1_date_span.set_text("12月9日") + self.watchface1_date_span.style.set_text_color(lv.color_make(0xe0,0xd7,0xd7)) + self.watchface1_date_span.style.set_text_decor(lv.TEXT_DECOR.NONE) + self.watchface1_date_span.style.set_size(100) + self.watchface1_date.refr_mode() + + # add style for main_style_1_spangroup_date + self.watchface1_date.add_style(self.watchface1_style_default, 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) + + # #阴历 + # self.watchface1_lunar_calendar = lv.spangroup(self.meta) + # self.watchface1_lunar_calendar.set_pos(int(124),int(131)) + # self.watchface1_lunar_calendar.set_size(110,17) + # self.watchface1_lunar_calendar.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) + # self.watchface1_lunar_calendar.set_align(lv.TEXT_ALIGN.LEFT) + # self.watchface1_lunar_calendar.set_overflow(lv.SPAN_OVERFLOW.CLIP) + # self.watchface1_lunar_calendar.set_mode(lv.SPAN_MODE.BREAK) + # self.watchface1_lunar_calendar_span = self.watchface1_lunar_calendar.new_span() + # self.watchface1_lunar_calendar_span.set_text("三月初三") + # self.watchface1_lunar_calendar_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7)) + # self.watchface1_lunar_calendar_span.style.set_text_decor(lv.TEXT_DECOR.NONE) + # self.watchface1_lunar_calendar.refr_mode() + # # add style for main_style_1_spangroup_week + # self.watchface1_lunar_calendar.add_style(self.watchface1_style_default, 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_txt = lv.spangroup(self.meta) + self.watchface1_step_txt.set_pos(int(170),int(163)) + self.watchface1_step_txt.set_size(70,25) + self.watchface1_step_txt.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) + self.watchface1_step_txt.set_align(lv.TEXT_ALIGN.LEFT) + self.watchface1_step_txt.set_overflow(lv.SPAN_OVERFLOW.CLIP) + self.watchface1_step_txt.set_mode(lv.SPAN_MODE.BREAK) + self.watchface1_step_span = self.watchface1_step_txt.new_span() + self.watchface1_step_span.set_text("0") + self.watchface1_step_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7)) + self.watchface1_step_span.style.set_text_decor(lv.TEXT_DECOR.NONE) + #self.watchface1_week_step_span.style.set_text_font(lv.font_harmony_19) + self.watchface1_step_txt.refr_mode() + # add style for main_style_1_spangroup_week + self.watchface1_step_txt.add_style(self.watchface1_style_default, lv.PART.MAIN|lv.STATE.DEFAULT) - self.weekday = lv.img(self.meta) - self.weekday.set_pos(15,190) - self.weekday.set_size(56,56) - self.weekday.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.weekday.add_flag(lv.obj.FLAG.CLICKABLE) - self.weekday.set_src("E:/static/watch_plate/style_2/week/fri.png") - self.weekday.add_style(self.style_watchface_img_default, 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.date = lv.label(self.meta) - self.date.set_pos() - self.date.set_size() - self.date.set_long_mode(lv.label.LONG.WRAP) - self.date.set_text() - self.date.set_style_text_align(lv.TEXT_ALIGN.CENTER,0) - self.date.add_style(style_font_youyuan_20,lv.PART.MAIN|lv.STATE.DEFAULT) - - #阴历 - self.date = lv.label(self.meta) - self.date.set_pos() - self.date.set_size() - self.date.set_long_mode(lv.label.LONG.WRAP) - self.date.set_text() - self.date.set_style_text_align(lv.TEXT_ALIGN.CENTER,0) - self.date.add_style(style_font_youyuan_20,lv.PART.MAIN|lv.STATE.DEFAULT) - - #天气logo - self.weather = lv.img(self.meta) - self.weather.set_pos(0, 50) - self.weather.set_size(240, 96) - self.weather.set_src("E:/static/IMAGE_HEART_ONLY_TEST_DONE.png") - #温度 + self.watchface1_HB_txt = lv.spangroup(self.meta) + self.watchface1_HB_txt.set_pos(int(55),int(235)) + self.watchface1_HB_txt.set_size(80,25) + self.watchface1_HB_txt.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) + self.watchface1_HB_txt.set_align(lv.TEXT_ALIGN.LEFT) + self.watchface1_HB_txt.set_overflow(lv.SPAN_OVERFLOW.CLIP) + self.watchface1_HB_txt.set_mode(lv.SPAN_MODE.BREAK) + self.watchface1_HB_span = self.watchface1_HB_txt.new_span() + self.watchface1_HB_span.set_text("0") + self.watchface1_HB_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7)) + self.watchface1_HB_span.style.set_text_decor(lv.TEXT_DECOR.NONE) + #self.watchface1_week_HB_span.style.set_text_font(lv.font_harmony_19) + self.watchface1_HB_txt.refr_mode() + # add style for main_style_1_spangroup_week + self.watchface1_HB_txt.add_style(self.watchface1_style_default, 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_txt = lv.spangroup(self.meta) + self.watchface1_SPO2_txt.set_pos(int(160),int(235)) + self.watchface1_SPO2_txt.set_size(80,25) + self.watchface1_SPO2_txt.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) + self.watchface1_SPO2_txt.set_align(lv.TEXT_ALIGN.LEFT) + self.watchface1_SPO2_txt.set_overflow(lv.SPAN_OVERFLOW.CLIP) + self.watchface1_SPO2_txt.set_mode(lv.SPAN_MODE.BREAK) + self.watchface1_SPO2_span = self.watchface1_SPO2_txt.new_span() + self.watchface1_SPO2_span.set_text("0") + self.watchface1_SPO2_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7)) + self.watchface1_SPO2_span.style.set_text_decor(lv.TEXT_DECOR.NONE) + #self.watchface1_week_SPO2_span.style.set_text_font(lv.font_harmony_19) + self.watchface1_SPO2_txt.refr_mode() + # add style for main_style_1_spangroup_week + self.watchface1_SPO2_txt.add_style(self.watchface1_style_default, lv.PART.MAIN|lv.STATE.DEFAULT) + + + + def initialization(self): + #获取信号 + signal = EventMesh.publish("screen_get_sig") + if signal: + self.__signal(None, signal) + # 获取电池电量 + battery = EventMesh.publish("screen_get_battery") + if battery: + self.__battery(None, battery) + time = EventMesh.publish("screen_get_time") + #print("publish_time:"+time) + if time: + self.__time(None, time) + hrValue = EventMesh.publish("get_old_hr_data") + self.__oldHrValue(None, hrValue) + + spo2Value = EventMesh.publish("get_old_spo2_data") + self.__oldSpo2Value(None, spo2Value) + + + def get_step(self,event,msg): + # print("main get_step msg:{}".format(msg)) + self.step = msg[0] + self.watchface1_step_span.set_text(str(self.step)) + + + def timerout_update(self): + #获取信号 + signal = EventMesh.publish("screen_get_sig") + if signal: + self.__signal(None, signal) + # 获取电池电量 + battery = EventMesh.publish("screen_get_battery") + if battery: + self.__battery(None, battery) + + time = EventMesh.publish("screen_get_time") + #print("publish_time:"+time) + if time: + self.__time(None, time) + + hrValue = EventMesh.publish("get_old_hr_data") + self.__oldHrValue(None, hrValue) + + spo2Value = EventMesh.publish("get_old_spo2_data") + self.__oldSpo2Value(None, spo2Value) + + 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_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]) #星期 + + def __signal(self, event, msg): + #print("__signal_cb:",str(msg)) + # 信号强度值范围0 ~ 31,值越大表示信号强度越好 + #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)) + else : + self.watchface_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") + else: + self.watchface_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" + pass + + def __oldHrValue(self, event, msg): + self.watchface1_HB_span.set_text(str(msg)) + + def __oldSpo2Value(self, event, msg): + self.watchface1_SPO2_span.set_text(str(msg)) + class Watchface1(): NAME = "Watchface1" # # #表盘1 - def __init__(self): + def __init__(self,main_menu): print("Watchface1:__init__") - - self.meta = lv.obj() + + 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) + # # 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(self.watchface_default, lv.PART.MAIN|lv.STATE.DEFAULT) + 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() @@ -157,7 +372,7 @@ class Watchface1(): #状态栏 self.watchface_mpsignal_img = lv.img(self.meta) - self.watchface_mpsignal_img.set_pos(int(40),int(0)) + 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) @@ -307,7 +522,7 @@ class Watchface1(): self.watchface1_step_txt = lv.spangroup(self.meta) self.watchface1_step_txt.set_pos(int(170),int(163)) - self.watchface1_step_txt.set_size(80,25) + self.watchface1_step_txt.set_size(70,25) self.watchface1_step_txt.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) self.watchface1_step_txt.set_align(lv.TEXT_ALIGN.LEFT) self.watchface1_step_txt.set_overflow(lv.SPAN_OVERFLOW.CLIP) @@ -461,68 +676,51 @@ class Watchface1(): self.watchface1_SPO2_span.set_text(str(msg)) -class WatchFaceScreen(Screen): +class WatchFace(): NAME = "watchface" - def __init__(self): - super().__init__() + def __init__(self,main_menu): #表盘 self.watchface_list = [] self.meta = None self.watchface_style_num = "Watchface1" - self.timer_update = osTimer() - + self.main_menu = main_menu def initialization(self): print("watchface INIT !!!!!!!!") if self.watchface_list == [] : #第一次初始化 - self.watchface_list.append( Watchface1()) - + self.watchface_list.append( Watchface1(self.main_menu)) + self.watchface_list.append( Watchface2(self.main_menu)) 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() + EventMesh.subscribe(constants.EVENT.PUSH_STEP,self.watchface_style.get_step) self.timer_update.start(10000, 1, self.timerout_update) - - def post_processor_after_initialization(self): EventMesh.subscribe("change_face", self.change_face) def change_face(self, event=None, msg=None): - print("change face :",msg) + print("change_face :",msg) self.watchface_style_num = 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() - - - def Close(self): print("watchface Close !!!!!!!!") self.timer_update.stop() return - - - - def done_right_to_left(self): - EventMesh.publish("load_screen", {"screen": "main_menu"}) - #EventMesh.publish("load_screen", {"screen": "watchface"}) - #self.timer_update.stop() - - def done_top_to_bottom(self): - #EventMesh.publish("load_screen", {"screen": "watchface"}) - #self.timer_update.stop() - EventMesh.publish("load_screen", {"screen": "popup"}) - - def done_bottom_to_top(self): - EventMesh.publish("load_screen", {"screen": "call_log"}) - #EventMesh.publish("load_screen", {"screen": "watchface"}) - #self.timer_update.stop() - def btn1_release(self): - pass - def btn8_press(self): - pass + 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 c10f2d13..cdf93d04 100644 --- a/3.code/1.watch/2.code/ui_main_menu.py +++ b/3.code/1.watch/2.code/ui_main_menu.py @@ -42,7 +42,7 @@ style_btn.init() style_btn.set_bg_opa(lv.OPA.TRANSP) style_btn.set_shadow_opa(0) style_btn.set_border_width(0) - +from ext.ui_WatchFaceScreen import WatchFace class MainMenuScreen(Screen): NAME = "main_menu" @@ -52,29 +52,49 @@ class MainMenuScreen(Screen): self.main_menu_list = [] self.meta = None self.main_menu_style_num = "MainMenu2" + self.main_menu_WatchFace = None def initialization(self): print("main_menu INIT !!!!!!!!") if self.main_menu_list == [] : #第一次初始化 - self.main_menu_list.append( MainMenu1()) + #self.main_menu_list.append( MainMenu1()) self.main_menu_list.append( MainMenu2()) 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() + self.main_menu_style.initialization()#初始化菜单 def post_processor_after_instantiation(self): EventMesh.subscribe("change_style", self.change_style) - def change_style(self, event=None, msg=None): + 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()#初始化菜单 def Close(self): + self.main_menu_WatchFace.Close() print("main_menu Close !!!!!!!!") return @@ -287,8 +307,11 @@ class MainMenu2(): self.MainMenu2 = lv.tileview(self.meta) self.MainMenu2.set_scrollbar_mode(0) self.MainMenu2.add_style(style_MainMenu_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT) + #表盘 + self.MainMenu_Watchface = self.MainMenu2.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + #支付宝 - self.MainMenu2_alipay = self.MainMenu2.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_alipay = self.MainMenu2.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_alipay = lv.img(self.MainMenu2_alipay) self.MainMenu2_img_alipay.set_size(160,230) self.MainMenu2_img_alipay.set_pos(40,20) @@ -303,7 +326,7 @@ class MainMenu2(): # 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.MainMenu2.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_phone = self.MainMenu2.add_tile(2, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_phone = lv.img(self.MainMenu2_phone) self.MainMenu2_img_phone.set_size(160,230) self.MainMenu2_img_phone.set_pos(40,20) @@ -319,7 +342,7 @@ class MainMenu2(): # self.label_phone.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #通讯录 - self.MainMenu2_contacts = self.MainMenu2.add_tile(2, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_contacts = self.MainMenu2.add_tile(3, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_contacts = lv.img(self.MainMenu2_contacts) self.MainMenu2_img_contacts.set_size(160,230) self.MainMenu2_img_contacts.set_pos(40,20) @@ -335,7 +358,7 @@ class MainMenu2(): # self.label_contacts.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #心律检测 - self.MainMenu2_heartrate = self.MainMenu2.add_tile(3, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_heartrate = self.MainMenu2.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_heartrate = lv.img(self.MainMenu2_heartrate) self.MainMenu2_img_heartrate.set_size(160,230) self.MainMenu2_img_heartrate.set_pos(40,20) @@ -351,7 +374,7 @@ class MainMenu2(): # self.label_heartrate.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #血样检测 - self.MainMenu2_spo2 = self.MainMenu2.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_spo2 = self.MainMenu2.add_tile(5, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_spo2 = lv.img(self.MainMenu2_spo2) self.MainMenu2_img_spo2.set_size(160,230) self.MainMenu2_img_spo2.set_pos(40,20) @@ -367,7 +390,7 @@ class MainMenu2(): # self.label_spo2.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #工具箱 - self.MainMenu2_toolbox = self.MainMenu2.add_tile(5, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_toolbox = self.MainMenu2.add_tile(6, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_toolbox = lv.img(self.MainMenu2_toolbox) self.MainMenu2_img_toolbox.set_size(160,230) self.MainMenu2_img_toolbox.set_pos(40,20) @@ -383,7 +406,7 @@ class MainMenu2(): # self.label_toolbox.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #设置 - self.MainMenu2_setting = self.MainMenu2.add_tile(6, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_setting = self.MainMenu2.add_tile(7, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_setting = lv.img(self.MainMenu2_setting) self.MainMenu2_img_setting.set_size(160,230) self.MainMenu2_img_setting.set_pos(40,20) @@ -399,7 +422,7 @@ class MainMenu2(): # self.label_setting.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #体温测量 - self.MainMenu2_temperature = self.MainMenu2.add_tile(7, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_temperature = self.MainMenu2.add_tile(8, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_temperature = lv.img(self.MainMenu2_temperature) self.MainMenu2_img_temperature.set_size(160,230) self.MainMenu2_img_temperature.set_pos(40,20) @@ -415,7 +438,7 @@ class MainMenu2(): # self.label_temperature.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #微聊 - self.MainMenu2_wechat = self.MainMenu2.add_tile(8, 0, lv.DIR.LEFT | lv.DIR.RIGHT) + self.MainMenu2_wechat = self.MainMenu2.add_tile(9, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_wechat = lv.img(self.MainMenu2_wechat) self.MainMenu2_img_wechat.set_size(160,230) self.MainMenu2_img_wechat.set_pos(40,20) @@ -441,8 +464,11 @@ class MainMenu2(): 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 + pass# + def img_cb(self, e, msg): print("MainMenu2:img_cb:{}".format(msg)) EventMesh.publish("load_screen", {"screen": "{}".format(msg)})