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()
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))
#状态栏
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)
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()
#状态栏
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)
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)
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
+
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"
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
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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
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)})