From: d15521469561 Date: Thu, 6 Apr 2023 01:43:15 +0000 (+0800) Subject: 优化拨号盘 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=e9cfdce372bb6c1a9bb0a2c4754761ee45623f63;p=mirrors%2FASR1603_G5.git 优化拨号盘 --- diff --git a/3.code/1.watch/2.code/appWechat.py b/3.code/1.watch/2.code/appWechat.py index 6e243d0a..8b0864b7 100644 --- a/3.code/1.watch/2.code/appWechat.py +++ b/3.code/1.watch/2.code/appWechat.py @@ -188,7 +188,7 @@ class WechatScreen(Screen): msg_tmp = value[2:] size = len(msg_tmp) self.startWidth = size*20 - print("self.startWidth :{} size:{}".format(self.startWidth,size)) + # print("self.startWidth :{} size:{}".format(self.startWidth,size)) if self.startWidth > 200: self.startWidth = 200 diff --git a/3.code/1.watch/2.code/main_1.py b/3.code/1.watch/2.code/main_1.py index 7ae00738..56db1e62 100644 --- a/3.code/1.watch/2.code/main_1.py +++ b/3.code/1.watch/2.code/main_1.py @@ -56,7 +56,7 @@ if __name__ == '__main__': from ext.ui_main_menu import MainMenuScreen from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol import ext.ui_setting as _ui_setting - # from usr.test_sms import DialingScreen + # from usr.test_sms import PhoneScreen #from usr.ui_wechat import WechatScreen,TK_ProtoCol btn_device = BtnDevice(tp_cst816) diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.jpg index 47a5f2e6..f1da650c 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.jpg index 75534b35..545bc8c6 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.jpg index dec91215..ee433e32 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.jpg index 4cd310a1..5633f784 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.jpg index 8a7690b6..8465acb5 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.jpg index 1067b79d..68d6c7d1 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.jpg index c24480ad..c3218dcf 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.jpg index 52d2f667..dcb63f2c 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.jpg differ diff --git a/3.code/1.watch/2.code/static/main_menu/main_menu2/alipay_.jpg b/3.code/1.watch/2.code/static/main_menu/main_menu2/alipay_.jpg index 05de42be..5465043e 100644 Binary files a/3.code/1.watch/2.code/static/main_menu/main_menu2/alipay_.jpg and b/3.code/1.watch/2.code/static/main_menu/main_menu2/alipay_.jpg differ diff --git a/3.code/1.watch/2.code/test_sms.py b/3.code/1.watch/2.code/test_sms.py index 37122548..a9a31815 100644 --- a/3.code/1.watch/2.code/test_sms.py +++ b/3.code/1.watch/2.code/test_sms.py @@ -4,7 +4,7 @@ import lvgl as lv from ext import EventMesh import sms -from ext.ui import style_screen,style_font_youyuan_20_black,style_font_youyuan_20,Screen,style_contact_btn,style_img +from ext.ui import style_screen,style_font_youyuan_20_black,style_font_youyuan_20,Screen,style_contact_btn,style_img,style_line from ext.common import Abstract import voiceCall import ql_fs @@ -15,325 +15,350 @@ import osTimer import utime -""" - -MSG_FLAG = 0 -MSG_MAX = 10 #最大显示短信内容条数 - -style_sms_bg_btn = lv.style_t() -style_sms_bg_btn.init() -#style_sms_bg_btn.set_bg_color(lv.color_make(0x00, 0xff, 0x2a)) -style_sms_bg_btn.set_bg_color(lv.color_make(0xff, 0xff, 0xff)) -style_sms_bg_btn.set_border_width(0) -style_sms_bg_btn.set_shadow_opa(0) - - -msg_list_screen = lv.obj() -msg_screen = lv.obj(msg_list_screen) -msg_screen.center() -msg_screen.set_size(240, 320) -msg_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - -msg_top_title = lv.label(msg_screen) -msg_top_title.set_pos(0, 10) -msg_top_title.set_size(240, 40) -msg_top_title.set_text("信息") -msg_top_title.set_long_mode(lv.label.LONG.WRAP) -msg_top_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -msg_top_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - -msg_cont_detail = lv.obj(msg_screen) -msg_cont_detail.set_pos(0, 50) -msg_cont_detail.set_size(240, 270) -msg_cont_detail.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - -msg_list_t= lv.obj(msg_list_screen) -msg_list_t.set_pos(0, 50) -msg_list_t.set_size(240, 270) -msg_list_t.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) -msg_list_t.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - - -no_msg_text = lv.label(msg_list_t) -no_msg_text.set_pos(0, 120) -no_msg_text.set_size(240, 40) -no_msg_text.set_text("暂无信息") -no_msg_text.set_long_mode(lv.label.LONG.WRAP) -no_msg_text.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -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)) - -sms.setCallback(msg_cb) - - - -class PopupScreen(Screen): - NAME = "popup" +######################拨号盘################################## + +# -------------------------------------------phone screen---------------------------------------------------------- +phone_screen = lv.obj() +phone = lv.obj(phone_screen) +phone.center() +phone.set_size(240, 320) +phone.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + + +line_points = [{"x":0,"y":0},{"x":0,"y":20}] +phone_line = lv.line(phone) +phone_line.set_points(line_points,2) +phone_line.set_pos(235,74) +phone_line.set_size(2,20) +phone_line.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +phone_line.add_style(style_line,0) + +phone_label = lv.label(phone) +phone_label.set_pos(0, 76) +phone_label.set_size(0, 30) +phone_label.set_text(" ") +phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_label.set_long_mode(lv.label.LONG.CLIP) +phone_label.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 0) + +phone_one = lv.img(phone) +phone_one.set_src("E:/static/IMAGE_NUMBER_KEY1_ICON.jpg") +phone_one.add_flag(lv.obj.FLAG.CLICKABLE) +phone_one.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_one.set_pos(3, 100) + +phone_two = lv.img(phone) +phone_two.set_size(76, 40) +phone_two.set_src("E:/static/IMAGE_NUMBER_KEY2_ICON.jpg") +phone_two.add_flag(lv.obj.FLAG.CLICKABLE) +phone_two.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_two.set_pos(82, 100) + +phone_three = lv.img(phone) +phone_three.set_size(76, 40) +phone_three.set_src("E:/static/IMAGE_NUMBER_KEY3_ICON.jpg") +phone_three.add_flag(lv.obj.FLAG.CLICKABLE) +phone_three.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_three.set_pos(161, 100) + +phone_four = lv.img(phone) +phone_four.set_size(76, 40) +phone_four.set_src("E:/static/IMAGE_NUMBER_KEY4_ICON.jpg") +phone_four.add_flag(lv.obj.FLAG.CLICKABLE) +phone_four.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_four.set_pos(3, 142) + +phone_five = lv.img(phone) +phone_five.set_size(76, 40) +phone_five.set_src("E:/static/IMAGE_NUMBER_KEY5_ICON.jpg") +phone_five.add_flag(lv.obj.FLAG.CLICKABLE) +phone_five.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_five.set_pos(82, 142) + +phone_six = lv.img(phone) +phone_six.set_size(76, 40) +phone_six.set_src("E:/static/IMAGE_NUMBER_KEY6_ICON.jpg") +phone_six.add_flag(lv.obj.FLAG.CLICKABLE) +phone_six.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_six.set_pos(161, 142) + +phone_seven = lv.img(phone) +phone_seven.set_size(76, 40) +phone_seven.set_src("E:/static/IMAGE_NUMBER_KEY7_ICON.jpg") +phone_seven.add_flag(lv.obj.FLAG.CLICKABLE) +phone_seven.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_seven.set_pos(3, 184) + +phone_eight = lv.img(phone) +phone_eight.set_size(76, 40) +phone_eight.set_src("E:/static/IMAGE_NUMBER_KEY8_ICON.jpg") +phone_eight.add_flag(lv.obj.FLAG.CLICKABLE) +phone_eight.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_eight.set_pos(82, 184) + +phone_nine = lv.img(phone) +phone_nine.set_size(76, 40) +phone_nine.set_src("E:/static/IMAGE_NUMBER_KEY9_ICON.jpg") +phone_nine.add_flag(lv.obj.FLAG.CLICKABLE) +phone_nine.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_nine.set_pos(161, 184) + +phone_start = lv.img(phone) +phone_start.set_size(76, 40) +phone_start.set_src("E:/static/IMAGE_NUMBER_KEYSTAR_ICON.jpg") +phone_start.add_flag(lv.obj.FLAG.CLICKABLE) +phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_start.set_pos(3, 226) + +phone_zero = lv.img(phone) +phone_zero.set_size(76, 40) +phone_zero.set_src("E:/static/IMAGE_NUMBER_KEY0_ICON.jpg") +phone_zero.add_flag(lv.obj.FLAG.CLICKABLE) +phone_zero.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_zero.set_pos(82, 226) + +phone_hash = lv.img(phone) +phone_hash.set_size(76, 40) +phone_hash.set_src("E:/static/IMAGE_NUMBER_KEYHASH_ICON.jpg") +phone_hash.add_flag(lv.obj.FLAG.CLICKABLE) +phone_hash.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_hash.set_pos(161, 226) + +phone_call = lv.img(phone) +phone_call.set_size(76, 40) +phone_call.set_src("E:/static/IMAGE_BUTTON_DIAL.jpg") +phone_call.add_flag(lv.obj.FLAG.CLICKABLE) +phone_call.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_call.set_pos(3, 268) + +phone_call_btn = lv.img(phone) +phone_call_btn.set_size(76, 52) +phone_call_btn.add_flag(lv.obj.FLAG.CLICKABLE) +phone_call_btn.set_pos(3, 268) + +phone_contact = lv.img(phone) +phone_contact.set_size(64, 40) +phone_contact.set_src("E:/static/IMAGE_BUTTON_DIAL_CONTACT.jpg") +phone_contact.add_flag(lv.obj.FLAG.CLICKABLE) +phone_contact.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_contact.set_pos(87, 268) + +phone_contact_btn = lv.img(phone) +phone_contact_btn.set_size(76, 52) +phone_contact_btn.add_flag(lv.obj.FLAG.CLICKABLE) +phone_contact_btn.set_pos(87, 268) + +phone_delete = lv.img(phone) +phone_delete.set_size(76, 40) +phone_delete.set_src("E:/static/IMAGE_BUTTON_DELKEY.jpg") +phone_delete.add_flag(lv.obj.FLAG.CLICKABLE) +phone_delete.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_delete.set_pos(161, 268) + +phone_delete_btn = lv.img(phone) +phone_delete_btn.set_size(76, 52) +phone_delete_btn.add_flag(lv.obj.FLAG.CLICKABLE) +phone_delete_btn.set_pos(161, 268) + +PHONE_CALL_MAX_DATA = 22 + +class PhoneScreen(Screen): + NAME = "Phone" def __init__(self): - super().__init__() - # -------------------------------------------popup_menu screen---------------------------------------------------------- - self.meta = msg_list_screen - self.msg_detail = {} - self.msg_nums = 0 - self.sms_detail_list = lv.obj() - EventMesh.subscribe("sms_updata_list_show", self.sms_create_list) - - def post_processor_before_initialization(self): - self.msg_nums = sms.getMsgNums() #获取短信条数 - - def initialization(self): - self.msg_nums = sms.getMsgNums() - # print("self.msg_nums:{} type:{}".format(self.msg_nums,type(sms.getMsgNums()))) - self.btn_create(0) - def sms_create_list(self,event,msg): - self.msg_nums = sms.getMsgNums() - self.btn_create(1) - - def btn_create(self,msg): - i = 0 - j = 0 - if self.msg_nums > 0: - no_msg_text.add_flag(lv.obj.FLAG.HIDDEN) - self.sms_detail_list.delete()#先删除一次控件 - - self.sms_detail_list = lv.obj(msg_list_screen) - self.sms_detail_list.set_pos(0, 50) - self.sms_detail_list.set_size(240, 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 > 10: - j = self.msg_nums-10 - for i in range(self.msg_nums): - if i > (MSG_MAX-1): - break - - tmp = sms.searchTextMsg(j) - # print("self.msg_nums:{} sms.searchTextMsg(i):{} tmp[0]:{} tmp[1]:{} j:{} i:{}".format(self.msg_nums,sms.searchTextMsg(j),tmp[0],tmp[1],j,i)) - msg_btn = lv.btn(self.sms_detail_list) - msg_btn.set_size(240,90) - msg_btn.set_pos(0,92*i) - msg_btn.add_style(style_sms_bg_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - msg_btn.add_event_cb(lambda e: self.calling(e), - lv.EVENT.CLICKED, None) - - _btn_label2 = lv.label(msg_btn) - _btn_label2.set_pos(0, 5) - _btn_label2.set_size(180, 25) - _btn_label2.set_text(tmp[0]) - _btn_label2.set_long_mode(lv.label.LONG.DOT) - _btn_label2.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - # - - detail = tmp[1] - _btn_label3 = lv.label(msg_btn) - _btn_label3.set_pos(0, 34) - _btn_label3.set_size(220, 35) - _btn_label3.set_text(detail) - _btn_label3.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - - i = i + 1 - j += 1 - if msg == 1: - bottom_btn = self.sms_detail_list.get_child(-1) - bottom_btn.scroll_to_view(lv.ANIM.OFF) - else: - no_msg_text.clear_flag(lv.obj.FLAG.HIDDEN) - - def calling(self,e): - #上传标题和内容 - _name = e.get_target().get_child(0).get_text() - EventMesh.publish("save_msg_name", _name) - content = e.get_target().get_child(1).get_text() - EventMesh.publish("save_msg_content", content) - - #显示详细页面 - EventMesh.publish("load_screen", {"screen": "msg_detail"}) - - 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"}) -""" - -# -------------------------------------------call_log screen---------------------------------------------------------- -call_log_screen = lv.obj() -call_log = lv.obj(call_log_screen) -call_log.center() -call_log.set_size(240, 320) -call_log.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - -contacts_cont_list= lv.obj(call_log) -contacts_cont_list.set_pos(0, 50) -contacts_cont_list.set_size(240, 270) -contacts_cont_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) -contacts_cont_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - -call_log_title = lv.label(call_log) -call_log_title.set_pos(0, 10) -call_log_title.set_size(240, 40) -call_log_title.set_long_mode(lv.label.LONG.WRAP) -call_log_title.set_text("通话记录") -call_log_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -call_log_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - -none_call_log_title = lv.label(contacts_cont_list) -none_call_log_title.set_pos(0, 120) -none_call_log_title.set_size(240, 40) -none_call_log_title.set_long_mode(lv.label.LONG.WRAP) -none_call_log_title.set_text("暂无记录") -none_call_log_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -none_call_log_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - - -CALLLOG_FLAG = 0 -class CallLogScreen(Screen): - NAME = "call_log" - - def __init__(self): super().__init__() - self.meta = call_log_screen - self.log_list = [] - self.read_call_log = {} - self.check_json = 0 - self.call_log_detail_list = lv.obj() - EventMesh.subscribe("call_log_update_show_list", self.call_log_update_show_list) + self.meta = phone_screen + self.phone_num = '' + self.phone_list = [] + self.button = 0 self.timer = osTimer() + self.count = 0 + phone_one.add_event_cb(lambda e: self.one(e), + lv.EVENT.CLICKED, None) + phone_two.add_event_cb(lambda e: self.two(e), + lv.EVENT.CLICKED, None) + phone_three.add_event_cb(lambda e: self.three(e), + lv.EVENT.CLICKED, None) + phone_four.add_event_cb(lambda e: self.four(e), + lv.EVENT.CLICKED, None) + phone_five.add_event_cb(lambda e: self.five(e), + lv.EVENT.CLICKED, None) + phone_six.add_event_cb(lambda e: self.six(e), + lv.EVENT.CLICKED, None) + phone_seven.add_event_cb(lambda e: self.seven(e), + lv.EVENT.CLICKED, None) + phone_eight.add_event_cb(lambda e: self.eight(e), + lv.EVENT.CLICKED, None) + phone_nine.add_event_cb(lambda e: self.nine(e), + lv.EVENT.CLICKED, None) + phone_zero.add_event_cb(lambda e: self.zero(e), + lv.EVENT.CLICKED, None) - def post_processor_before_initialization(self): - read_call_log = EventMesh.publish("get_call_log_list") - self.check_json = read_call_log[0] - self.read_call_log = read_call_log[1] - - - - def call_log_update_show_list(self, event, msg): - read_call_log = EventMesh.publish("get_call_log_list") - # print("read_call_log:{}".format(read_call_log)) - self.check_json = read_call_log[0] #文件是否存在 - self.read_call_log = read_call_log[1]#通话记录数据 - self.timer.start(500,0,self.reciving) + phone_call_btn.add_event_cb(lambda e: self.call(e), + lv.EVENT.CLICKED, None) + phone_contact_btn.add_event_cb(lambda e: self.contact(e), + lv.EVENT.CLICKED, None) + phone_delete_btn.add_event_cb(lambda e: self.delete(e), + lv.EVENT.CLICKED, None) + + phone_start.add_event_cb(lambda e: self.start(e), + lv.EVENT.CLICKED, None)#短按显示* + + phone_start.add_event_cb(lambda e: self.pressed_start(e), + lv.EVENT.LONG_PRESSED, None)#长按显示+ + + phone_start.add_event_cb(lambda e: self.endpressed_start(e), + lv.EVENT.RELEASED, None)#释放按键 + - def reciving(self,e): - self.btn_create() + phone_hash.add_event_cb(lambda e: self.hash(e), + lv.EVENT.CLICKED, None) + def post_processor_after_instantiation(self): + self.phone_num='' + self.phone_list = [] def initialization(self): - EventMesh.publish("call_log_update_show_list") - self.btn_create() - - def btn_create(self): - h = 0 - if self.check_json == True: - self.call_log_detail_list.delete()#先删除一次控件 - self.call_log_detail_list = lv.obj(call_log_screen) - self.call_log_detail_list.set_pos(0, 50) - self.call_log_detail_list.set_size(240, 270) - self.call_log_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) - self.call_log_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - sort_tmp = self.read_call_log.values() - sort_new = sorted(sort_tmp, key = lambda i: i['timesec'],reverse = True)#按照时间戳进行排序 去掉最旧的一次数据如果满了五十条 - # print("self.call_log :{} \r\n sort_new:{}\r\n".format(self.read_call_log,sort_new)) - none_call_log_title.add_flag(lv.obj.FLAG.HIDDEN) - for sort_new_tmp in sort_new: #字典 key value - num_count = sort_new_tmp["count"]#获取通话次数 - num_name = sort_new_tmp["name"]#获取名称 - num_phonnum = sort_new_tmp["number"]#获取电话号码 - num_time = sort_new_tmp["time"]#获取电话号码 - - # print("num_count :{} num_name:{} num_time:{}".format(num_count,num_name,num_time)) - _btn = lv.btn(self.call_log_detail_list) - _btn.set_size(240,50) - _btn.set_pos(0,52*h) - _btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - _btn.add_event_cb(lambda e: self.calling(e), - lv.EVENT.CLICKED, None) - - - _btn_label2 = lv.label(_btn) - _btn_label2.set_pos(0, 5) - _btn_label2.set_size(0, 25) - _btn_label2.set_text(num_phonnum) - #_btn_label2.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - # - _btn_label3 = lv.label(_btn) - _btn_label3.set_pos(100, 5) - _btn_label3.set_size(40, 25) - _btn_label3.set_text("(" + str(num_count) + ")") - _btn_label3.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - - _btn_label4 = lv.label(_btn) - _btn_label4.set_pos(0, 5) - _btn_label4.set_size(100, 25) - _btn_label4.set_text(num_phonnum) - _btn_label4.set_long_mode(lv.label.LONG.DOT) - _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - - _btn_label4 = lv.label(_btn) - _btn_label4.set_pos(0, 5) - _btn_label4.set_size(0, 0) - _btn_label4.set_text(num_name) - # _btn_label4.set_long_mode(lv.obj.LONG.DOT) - # _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - - _btn_label5 = lv.label(_btn) - _btn_label5.set_pos(135, 5) - _btn_label5.set_size(95, 25) - _btn_label5.set_text(num_name) - _btn_label5.set_long_mode(lv.label.LONG.DOT) - _btn_label5.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - - h = h + 1 - else: - self.call_log_detail_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本 - none_call_log_title.clear_flag(lv.obj.FLAG.HIDDEN) - + self.phone_num='' + self.phone_list = [] + self.count = 0 + phone_label.set_text(" ") + # print("self.phone_list :{} self.phone_num:{}".format(self.phone_list,self.phone_num)) + self.timer.start(1000,1,self.refresh_line) + + def refresh_line(self,e): - def calling(self,e): - # print("e.get_text():{} {}".format(e.get_target().get_child(0).get_text(),e.get_target().get_child(3).get_text())) - phonnum = int(e.get_target().get_child(0).get_text()) - phnoname = e.get_target().get_child(3).get_text() - # print("phonnum :{} _msg:{}".format(phonnum,phnoname)) - EventMesh.publish("save_phonenum",phonnum)#保存电话号码用于界面显示获取 - - self.name = None - self.phonebook = {} - - self.call_log = {} - self.call_log_value = {} - self.read_call_log = {} - self.number_tmp = {} - + if self.count > 2 : + self.count = 1 + if (self.count%2) == 0: + phone_line.clear_flag(lv.obj.FLAG.HIDDEN) + else: + phone_line.add_flag(lv.obj.FLAG.HIDDEN) + self.count+=1 + def one(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("1") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def two(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("2") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def three(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("3") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def four(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("4") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def five(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("5") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def six(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("6") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def seven(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("7") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def eight(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("8") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def nine(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: + return + self.phone_list.append("9") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def zero(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字 + return + self.phone_list.append("0") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def start(self,e): + self.button = 0 + + def pressed_start(self,e): + self.button = 1 + + def endpressed_start(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字 + return + + if self.button == 1:#长按 + self.phone_list.append("+") + else:#短按 + self.phone_list.append("*") + + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def hash(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字 + return + self.phone_list.append("#") + self.phone_num = ''.join(self.phone_list) + self.show_num() + + + def delete(self,e): + if len(self.phone_list) != 0: + self.phone_list.pop() + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def contact(self,e): + EventMesh.publish("load_screen", {"screen": "contacts"}) + + def call(self,e): + self.name = None + self.phonebook = {} + self.number_tmp = {} + if len(self.phone_list) != 0: data = EventMesh.publish("get_phonebook_list") check = data[0] self.phonebook = data[1] # print("check :{}".format(check)) if check == 1:#检查通讯录 phonebook_keys = sorted(self.phonebook.keys()) - b = str(phonnum) in self.phonebook.values()#查找key中是否包含content电话号码 True 包含在里面 False不包含在里面 + b = str(self.phone_num) in self.phonebook.values()#查找key中是否包含content电话号码 True 包含在里面 False不包含在里面 j = 0 if b == True: for i in range(len(self.phonebook)): #字典 key value - #'001:邓雪英':15521469561 + #'001:张三':15521469561 name = self.phonebook[phonebook_keys[j]] name_value = phonebook_keys[j] - number_tmp = str(phonnum) + number_tmp = str(self.phone_num) # print("name :{} number_tmp:{}".format(name,number_tmp)) if name.find(number_tmp) != -1:#查找电话号码是否在通讯录里面 number_f= name_value @@ -343,167 +368,24 @@ class CallLogScreen(Screen): break j+=1 else: - self.name = phnoname - self.pro_state = 0 + self.name = self.phone_num else: - self.name = phnoname - - if self.name == None: - self.name = phnoname + self.name = self.phone_num + EventMesh.publish("save_phonenum",self.phone_num) EventMesh.publish("save_phonename",self.name)# - voiceCall.callStart(str(phonnum)) - - 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"}) - - -class CallLogManager(Abstract): - # 通话记录 - def __init__(self): - self.read_call_log = {} - self.check_json = ql_fs.path_exists("//ext/static/storage_fileCall_log.json") - - if self.check_json == True: - with open("/ext/static/storage_file/Call_log.json","r",encoding="utf-8") as fd: - self.read_call_log = ujson.load(fd) - print("读取通话记录") - - def post_processor_after_instantiation(self): - EventMesh.subscribe("get_call_log_list", self.get) - EventMesh.subscribe("set_call_log_list", self.set) - - def get(self, event, msg): - self.check_json = ql_fs.path_exists("/ext/static/storage_file/Call_log.json") - return [self.check_json,self.read_call_log] - - def set(self, event, msg): - self.check_json = msg[0] - self.read_call_log = msg[1] - - # def call_usr(self,event,msg): - # content = self.log[msg] - # # 参数1 姓名 参数2 电话 参数3 1/主动呼叫 0别人呼叫 - # EventMesh.publish("call_in", [content[2], content[0], 1]) - - -dialing_screen = lv.obj() -dialing = lv.obj(dialing_screen) -dialing.center() -dialing.set_size(240, 320) -dialing.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - -dialing_img = lv.img(dialing) -dialing_img.set_pos(80, 20) -dialing_img.set_size(64, 64) -dialing_img.set_src("E:/static/IMAGE_NOTICE_CALL.jpg") -dialing_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - -dialing_name = lv.label(dialing) -dialing_name.set_pos(0, 100) -dialing_name.set_size(240, 50) -dialing_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -dialing_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - -dialing_content = lv.label(dialing) -dialing_content.set_pos(0, 160) -dialing_content.set_size(240, 50) -dialing_content.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -dialing_content.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) - -hangup_imgbtn = lv.img(dialing) -hangup_imgbtn.set_size(64, 64) -hangup_imgbtn.set_src("E:/static/IMG_CC_HUNGUP1.jpg") -hangup_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) -hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -hangup_imgbtn.set_pos(80, 220) - -CALL_LOG_MAX = 50 - -class DialingScreen(Screen): - NAME = "dialing" - - def __init__(self): - super().__init__() - self.meta = dialing_screen - hangup_imgbtn.add_event_cb(lambda e: self.hangup(e), - lv.EVENT.CLICKED, None) - self.call_log = {} - self.call_log_value = {} - self.read_call_log = {} - self.number_tmp = {} - - def initialization(self): - #获取字符串 - name = EventMesh.publish("get_phonename")#获取拨打电话名称 - content = EventMesh.publish("get_phonenum")#获取电话号码 - time = EventMesh.publish("screen_get_time")#获取系统时间 - - # ["15692025051","2","12:59","哥gdh符合双方和开发商开发好看的思考"], - # 格式:{"电话号码":{"timesec":'时间戳',"number":'电话号码',"name":'名字',"time":'时间',"count":'通话次数'}} - - dialing_name.set_text(name)#名称 - dialing_content.set_text(content)#电话号码 - num = 0 - - date_tmp = utime.localtime() - time_tmp = utime.mktime(date_tmp) - # print("time_tmp:{}".format(time_tmp)) - read_call_log = EventMesh.publish("get_call_log_list") - check_json = read_call_log[0] - - if check_json == True: - self.read_call_log = read_call_log[1] - b = content in self.read_call_log.keys()#查找key中是否包含content电话号码 True 包含在里面 False不包含在里面 - if b == True:#查找是否有相同的电话号码 有就直接读出来的次数上加一 没有则从1开始加起 - number_tmp = {} - number_tmp = self.read_call_log[content] #通话次数加一 - num_tmp_t = number_tmp["count"] - # print("number_tmp:{} self.read_call_log.value:{}".format(number_tmp,self.read_call_log.values())) - else : - num_tmp_t = 0 - num = num_tmp_t - else: - num = 0 #通话次数 - - sort_tmp = {} - sort_tmp = self.read_call_log.values() - sort_new = {} - sort_new = sorted(sort_tmp, key = lambda i: i['timesec'],reverse = True)#按照时间戳进行排序 去掉最旧的一次数据如果满了五十条 - - i = 0 - # 49 50 - if len(self.read_call_log) >= CALL_LOG_MAX: - for sort_new_tmp in sort_new: #字典 key value - i+=1 # 1 - if i >= CALL_LOG_MAX:#大于50条把最后一条删除掉只保留前面50调最新的数据 - key_tmp = sort_new_tmp["number"] - del self.read_call_log[key_tmp] - tmp = {} - tmp["count"]= num+1 #通话次数 - tmp["time"]= "{}:{}".format("%02d"%(time[0][0]),"%02d"%(time[0][1]))#通湖时间 - tmp["name"]= name #名称 - tmp["timesec"]= time_tmp #时间戳 - tmp["number"] = content - - self.read_call_log[content] = tmp - with open("/ext/static/storage_file/Call_log.json","w",encoding="utf-8") as fd: - ujson.dump(self.read_call_log,fd) - print("创建通话记录") - EventMesh.publish("set_call_log_list", [1,self.read_call_log]) - EventMesh.publish("call_log_update_show_list") + voiceCall.callStart(self.phone_num) - def hangup(self,e): - voiceCall.callEnd() + def show_num(self): + len_t = len(self.phone_list)*20 + if len_t > 230: + len_t = 230 + phone_label.set_size(len_t,30) + phone_label.set_pos(230-len_t,76) + phone_label.set_text(self.phone_num) def done_return(self): - EventMesh.publish("load_screen", {"screen": "watchface"}) + EventMesh.publish("load_screen", {"screen": "main_menu"}) def btn1_release(self): EventMesh.publish("load_screen", {"screen": "watchface"}) @@ -517,30 +399,7 @@ class DialingScreen(Screen): -class MsgManager(Abstract): - # 短信 - def __init__(self): - self.msg_nums = 0 - self.msg_detail = "" - def post_processor_after_instantiation(self): - EventMesh.subscribe("get_msg_nums", self.get_msg_nums) - # 可通过此push_addr_book_list主动推送 - EventMesh.subscribe("get_msg_detail", self.get_msg_detail) - def get_msg_nums(self, event, msg): - self.msg_nums = sms.getMsgNums() - print("self.msg_nums {}:".format(self.msg_nums)) - return self.msg_nums - - def get_msg_detail(self, event, msg): - - # self.msg_detail = sms.searchTextMsg(self.msg_nums) - # print("self.msg_detai {}:".format(self.msg_detai)) - return{ - "小明":"有内鬼,停止交易", - "小红":"今晚十点一起吃饭" - } - - \ No newline at end of file + diff --git a/3.code/1.watch/2.code/ui.py b/3.code/1.watch/2.code/ui.py index b33ab68c..0fa243f8 100644 --- a/3.code/1.watch/2.code/ui.py +++ b/3.code/1.watch/2.code/ui.py @@ -164,131 +164,6 @@ style_circle.set_radius(0x7FFF) -# -------------------------------------------phone screen---------------------------------------------------------- -phone_screen = lv.obj() -phone = lv.obj(phone_screen) -phone.center() -phone.set_size(240, 320) -phone.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) - -# line_points = [{"x":0,"y":0},{"x":0,"y":240}] -# phone_line = lv.line(phone) -# phone_line.set_points(line_points,2) -# phone_line.set_pos(230,100) -# phone_line.set_size(4,20) -# phone_line.add_style(style_line,0) - -phone_label = lv.label(phone) -phone_label.set_pos(0, 50) -phone_label.set_size(240, 40) -phone_label.set_text("") -phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_label.set_long_mode(lv.label.LONG.WRAP) -phone_label.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 10) - -phone_one = lv.img(phone) -phone_one.set_src("E:/static/IMAGE_NUMBER_KEY1_ICON.jpg") -phone_one.add_flag(lv.obj.FLAG.CLICKABLE) -phone_one.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_one.set_pos(3, 100) - -phone_two = lv.img(phone) -phone_two.set_size(76, 40) -phone_two.set_src("E:/static/IMAGE_NUMBER_KEY2_ICON.jpg") -phone_two.add_flag(lv.obj.FLAG.CLICKABLE) -phone_two.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_two.set_pos(82, 100) - -phone_three = lv.img(phone) -phone_three.set_size(76, 40) -phone_three.set_src("E:/static/IMAGE_NUMBER_KEY3_ICON.jpg") -phone_three.add_flag(lv.obj.FLAG.CLICKABLE) -phone_three.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_three.set_pos(161, 100) - -phone_four = lv.img(phone) -phone_four.set_size(76, 40) -phone_four.set_src("E:/static/IMAGE_NUMBER_KEY4_ICON.jpg") -phone_four.add_flag(lv.obj.FLAG.CLICKABLE) -phone_four.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_four.set_pos(3, 142) - -phone_five = lv.img(phone) -phone_five.set_size(76, 40) -phone_five.set_src("E:/static/IMAGE_NUMBER_KEY5_ICON.jpg") -phone_five.add_flag(lv.obj.FLAG.CLICKABLE) -phone_five.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_five.set_pos(82, 142) - -phone_six = lv.img(phone) -phone_six.set_size(76, 40) -phone_six.set_src("E:/static/IMAGE_NUMBER_KEY6_ICON.jpg") -phone_six.add_flag(lv.obj.FLAG.CLICKABLE) -phone_six.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_six.set_pos(161, 142) - -phone_seven = lv.img(phone) -phone_seven.set_size(76, 40) -phone_seven.set_src("E:/static/IMAGE_NUMBER_KEY7_ICON.jpg") -phone_seven.add_flag(lv.obj.FLAG.CLICKABLE) -phone_seven.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_seven.set_pos(3, 184) - -phone_eight = lv.img(phone) -phone_eight.set_size(76, 40) -phone_eight.set_src("E:/static/IMAGE_NUMBER_KEY8_ICON.jpg") -phone_eight.add_flag(lv.obj.FLAG.CLICKABLE) -phone_eight.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_eight.set_pos(82, 184) - -phone_nine = lv.img(phone) -phone_nine.set_size(76, 40) -phone_nine.set_src("E:/static/IMAGE_NUMBER_KEY9_ICON.jpg") -phone_nine.add_flag(lv.obj.FLAG.CLICKABLE) -phone_nine.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_nine.set_pos(161, 184) - -phone_start = lv.img(phone) -phone_start.set_size(76, 40) -phone_start.set_src("E:/static/IMAGE_NUMBER_KEYSTAR_ICON.jpg") -phone_start.add_flag(lv.obj.FLAG.CLICKABLE) -phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_start.set_pos(3, 226) - -phone_zero = lv.img(phone) -phone_zero.set_size(76, 40) -phone_zero.set_src("E:/static/IMAGE_NUMBER_KEY0_ICON.jpg") -phone_zero.add_flag(lv.obj.FLAG.CLICKABLE) -phone_zero.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_zero.set_pos(82, 226) - -phone_hash = lv.img(phone) -phone_hash.set_size(76, 40) -phone_hash.set_src("E:/static/IMAGE_NUMBER_KEYSTAR_ICON.jpg") -phone_hash.add_flag(lv.obj.FLAG.CLICKABLE) -phone_hash.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_hash.set_pos(161, 226) - -phone_call = lv.img(phone) -phone_call.set_size(76, 40) -phone_call.set_src("E:/static/IMAGE_BUTTON_DIAL.jpg") -phone_call.add_flag(lv.obj.FLAG.CLICKABLE) -phone_call.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_call.set_pos(3, 268) - -phone_contact = lv.img(phone) -phone_contact.set_size(64, 40) -phone_contact.set_src("E:/static/IMAGE_BUTTON_DIAL_CONTACT.jpg") -phone_contact.add_flag(lv.obj.FLAG.CLICKABLE) -phone_contact.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_contact.set_pos(87, 268) - -phone_delete = lv.img(phone) -phone_delete.set_size(76, 40) -phone_delete.set_src("E:/static/IMAGE_BUTTON_DELKEY.jpg") -phone_delete.add_flag(lv.obj.FLAG.CLICKABLE) -phone_delete.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) -phone_delete.set_pos(161, 268) # -------------------------------------------heartrate screen---------------------------------------------------------- heartrate_screen = lv.obj() @@ -883,7 +758,7 @@ spo2_last_time = lv.label(spo2) spo2_last_time.set_size(240, 15) spo2_last_time.set_pos(0, 250) spo2_last_time.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) -spo2_last_time.set_text("2023.01.29 19:33") +spo2_last_time.set_text(" ") spo2_last_time.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) spo2_last_value = lv.label(spo2) @@ -1099,6 +974,150 @@ class Screen(Abstract): def done_error(self): pass +#..............................phone................................................# +phone_screen = lv.obj() +phone = lv.obj(phone_screen) +phone.center() +phone.set_size(240, 320) +phone.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT) + + +line_points = [{"x":0,"y":0},{"x":0,"y":20}] +phone_line = lv.line(phone) +phone_line.set_points(line_points,2) +phone_line.set_pos(235,74) +phone_line.set_size(2,20) +phone_line.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) +phone_line.add_style(style_line,0) + +phone_label = lv.label(phone) +phone_label.set_pos(0, 76) +phone_label.set_size(0, 30) +phone_label.set_text(" ") +phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_label.set_long_mode(lv.label.LONG.CLIP) +phone_label.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 0) + +phone_one = lv.img(phone) +phone_one.set_src("E:/static/IMAGE_NUMBER_KEY1_ICON.jpg") +phone_one.add_flag(lv.obj.FLAG.CLICKABLE) +phone_one.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_one.set_pos(3, 100) + +phone_two = lv.img(phone) +phone_two.set_size(76, 40) +phone_two.set_src("E:/static/IMAGE_NUMBER_KEY2_ICON.jpg") +phone_two.add_flag(lv.obj.FLAG.CLICKABLE) +phone_two.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_two.set_pos(82, 100) + +phone_three = lv.img(phone) +phone_three.set_size(76, 40) +phone_three.set_src("E:/static/IMAGE_NUMBER_KEY3_ICON.jpg") +phone_three.add_flag(lv.obj.FLAG.CLICKABLE) +phone_three.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_three.set_pos(161, 100) + +phone_four = lv.img(phone) +phone_four.set_size(76, 40) +phone_four.set_src("E:/static/IMAGE_NUMBER_KEY4_ICON.jpg") +phone_four.add_flag(lv.obj.FLAG.CLICKABLE) +phone_four.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_four.set_pos(3, 142) + +phone_five = lv.img(phone) +phone_five.set_size(76, 40) +phone_five.set_src("E:/static/IMAGE_NUMBER_KEY5_ICON.jpg") +phone_five.add_flag(lv.obj.FLAG.CLICKABLE) +phone_five.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_five.set_pos(82, 142) + +phone_six = lv.img(phone) +phone_six.set_size(76, 40) +phone_six.set_src("E:/static/IMAGE_NUMBER_KEY6_ICON.jpg") +phone_six.add_flag(lv.obj.FLAG.CLICKABLE) +phone_six.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_six.set_pos(161, 142) + +phone_seven = lv.img(phone) +phone_seven.set_size(76, 40) +phone_seven.set_src("E:/static/IMAGE_NUMBER_KEY7_ICON.jpg") +phone_seven.add_flag(lv.obj.FLAG.CLICKABLE) +phone_seven.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_seven.set_pos(3, 184) + +phone_eight = lv.img(phone) +phone_eight.set_size(76, 40) +phone_eight.set_src("E:/static/IMAGE_NUMBER_KEY8_ICON.jpg") +phone_eight.add_flag(lv.obj.FLAG.CLICKABLE) +phone_eight.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_eight.set_pos(82, 184) + +phone_nine = lv.img(phone) +phone_nine.set_size(76, 40) +phone_nine.set_src("E:/static/IMAGE_NUMBER_KEY9_ICON.jpg") +phone_nine.add_flag(lv.obj.FLAG.CLICKABLE) +phone_nine.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_nine.set_pos(161, 184) + +phone_start = lv.img(phone) +phone_start.set_size(76, 40) +phone_start.set_src("E:/static/IMAGE_NUMBER_KEYSTAR_ICON.jpg") +phone_start.add_flag(lv.obj.FLAG.CLICKABLE) +phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_start.set_pos(3, 226) + +phone_zero = lv.img(phone) +phone_zero.set_size(76, 40) +phone_zero.set_src("E:/static/IMAGE_NUMBER_KEY0_ICON.jpg") +phone_zero.add_flag(lv.obj.FLAG.CLICKABLE) +phone_zero.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_zero.set_pos(82, 226) + +phone_hash = lv.img(phone) +phone_hash.set_size(76, 40) +phone_hash.set_src("E:/static/IMAGE_NUMBER_KEYHASH_ICON.jpg") +phone_hash.add_flag(lv.obj.FLAG.CLICKABLE) +phone_hash.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_hash.set_pos(161, 226) + +phone_call = lv.img(phone) +phone_call.set_size(76, 40) +phone_call.set_src("E:/static/IMAGE_BUTTON_DIAL.jpg") +phone_call.add_flag(lv.obj.FLAG.CLICKABLE) +phone_call.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_call.set_pos(3, 268) + +phone_call_btn = lv.img(phone) +phone_call_btn.set_size(76, 52) +phone_call_btn.add_flag(lv.obj.FLAG.CLICKABLE) +phone_call_btn.set_pos(3, 268) + +phone_contact = lv.img(phone) +phone_contact.set_size(64, 40) +phone_contact.set_src("E:/static/IMAGE_BUTTON_DIAL_CONTACT.jpg") +phone_contact.add_flag(lv.obj.FLAG.CLICKABLE) +phone_contact.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_contact.set_pos(87, 268) + +phone_contact_btn = lv.img(phone) +phone_contact_btn.set_size(76, 52) +phone_contact_btn.add_flag(lv.obj.FLAG.CLICKABLE) +phone_contact_btn.set_pos(87, 268) + +phone_delete = lv.img(phone) +phone_delete.set_size(76, 40) +phone_delete.set_src("E:/static/IMAGE_BUTTON_DELKEY.jpg") +phone_delete.add_flag(lv.obj.FLAG.CLICKABLE) +phone_delete.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) +phone_delete.set_pos(161, 268) + +phone_delete_btn = lv.img(phone) +phone_delete_btn.set_size(76, 52) +phone_delete_btn.add_flag(lv.obj.FLAG.CLICKABLE) +phone_delete_btn.set_pos(161, 268) + +PHONE_CALL_MAX_DATA = 22 class PhoneScreen(Screen): NAME = "Phone" @@ -1109,6 +1128,9 @@ class PhoneScreen(Screen): self.meta = phone_screen self.phone_num = '' self.phone_list = [] + self.button = 0 + self.timer = osTimer() + self.count = 0 phone_one.add_event_cb(lambda e: self.one(e), lv.EVENT.CLICKED, None) phone_two.add_event_cb(lambda e: self.two(e), @@ -1130,87 +1152,144 @@ class PhoneScreen(Screen): phone_zero.add_event_cb(lambda e: self.zero(e), lv.EVENT.CLICKED, None) - phone_call.add_event_cb(lambda e: self.call(e), + phone_call_btn.add_event_cb(lambda e: self.call(e), lv.EVENT.CLICKED, None) - phone_contact.add_event_cb(lambda e: self.contact(e), + phone_contact_btn.add_event_cb(lambda e: self.contact(e), lv.EVENT.CLICKED, None) - phone_delete.add_event_cb(lambda e: self.delete(e), + phone_delete_btn.add_event_cb(lambda e: self.delete(e), + lv.EVENT.CLICKED, None) + + phone_start.add_event_cb(lambda e: self.start(e), + lv.EVENT.CLICKED, None)#短按显示* + + phone_start.add_event_cb(lambda e: self.pressed_start(e), + lv.EVENT.LONG_PRESSED, None)#长按显示+ + + phone_start.add_event_cb(lambda e: self.endpressed_start(e), + lv.EVENT.RELEASED, None)#释放按键 + + + phone_hash.add_event_cb(lambda e: self.hash(e), lv.EVENT.CLICKED, None) def post_processor_after_instantiation(self): self.phone_num='' self.phone_list = [] + + def initialization(self): + self.phone_num='' + self.phone_list = [] + self.count = 0 + phone_label.set_text(" ") + # print("self.phone_list :{} self.phone_num:{}".format(self.phone_list,self.phone_num)) + self.timer.start(1000,1,self.refresh_line) + + def refresh_line(self,e): + + if self.count > 2 : + self.count = 1 + if (self.count%2) == 0: + phone_line.clear_flag(lv.obj.FLAG.HIDDEN) + else: + phone_line.add_flag(lv.obj.FLAG.HIDDEN) + self.count+=1 def one(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("1") self.phone_num = ''.join(self.phone_list) self.show_num() def two(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("2") self.phone_num = ''.join(self.phone_list) self.show_num() def three(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("3") self.phone_num = ''.join(self.phone_list) self.show_num() def four(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("4") self.phone_num = ''.join(self.phone_list) self.show_num() def five(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("5") self.phone_num = ''.join(self.phone_list) self.show_num() def six(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("6") self.phone_num = ''.join(self.phone_list) self.show_num() def seven(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("7") self.phone_num = ''.join(self.phone_list) self.show_num() def eight(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("8") self.phone_num = ''.join(self.phone_list) self.show_num() def nine(self,e): - if(len(self.phone_list) >= 20): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA: return self.phone_list.append("9") self.phone_num = ''.join(self.phone_list) self.show_num() def zero(self,e): - if(len(self.phone_list) >= 20):#限制拨号数量20个数字 + if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字 return self.phone_list.append("0") self.phone_num = ''.join(self.phone_list) self.show_num() + + def start(self,e): + self.button = 0 + + def pressed_start(self,e): + self.button = 1 + + def endpressed_start(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字 + return + + if self.button == 1:#长按 + self.phone_list.append("+") + else:#短按 + self.phone_list.append("*") + + self.phone_num = ''.join(self.phone_list) + self.show_num() + + def hash(self,e): + if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字 + return + self.phone_list.append("#") + self.phone_num = ''.join(self.phone_list) + self.show_num() + def delete(self,e): - if self.phone_list is not None: + if len(self.phone_list) != 0: self.phone_list.pop() self.phone_num = ''.join(self.phone_list) self.show_num() @@ -1219,11 +1298,47 @@ class PhoneScreen(Screen): EventMesh.publish("load_screen", {"screen": "contacts"}) def call(self,e): - EventMesh.publish("save_phonenum",self.phone_num) - EventMesh.publish("load_screen", {"screen": "dialing"}) - voiceCall.callStart(self.phone_num) + self.name = None + self.phonebook = {} + self.number_tmp = {} + if len(self.phone_list) != 0: + data = EventMesh.publish("get_phonebook_list") + check = data[0] + self.phonebook = data[1] + # print("check :{}".format(check)) + if check == 1:#检查通讯录 + phonebook_keys = sorted(self.phonebook.keys()) + b = str(self.phone_num) in self.phonebook.values()#查找key中是否包含content电话号码 True 包含在里面 False不包含在里面 + j = 0 + if b == True: + for i in range(len(self.phonebook)): #字典 key value + #'001:张三':15521469561 + name = self.phonebook[phonebook_keys[j]] + name_value = phonebook_keys[j] + number_tmp = str(self.phone_num) + # print("name :{} number_tmp:{}".format(name,number_tmp)) + if name.find(number_tmp) != -1:#查找电话号码是否在通讯录里面 + number_f= name_value + name_s = number_f.split(':') + name_s = name_s[1] + self.name = name_s + break + j+=1 + else: + self.name = self.phone_num + else: + self.name = self.phone_num + + EventMesh.publish("save_phonenum",self.phone_num) + EventMesh.publish("save_phonename",self.name)# + voiceCall.callStart(self.phone_num) def show_num(self): + len_t = len(self.phone_list)*20 + if len_t > 230: + len_t = 230 + phone_label.set_size(len_t,30) + phone_label.set_pos(230-len_t,76) phone_label.set_text(self.phone_num) def done_return(self): @@ -1235,6 +1350,13 @@ class PhoneScreen(Screen): def btn8_press(self): EventMesh.publish("load_screen", {"screen": "watchface"}) + + + + + + + # ----------------------------------通话记录---------call_log screen---------------------------------------------------------- call_log_screen = lv.obj() @@ -1304,6 +1426,7 @@ class CallLogScreen(Screen): def btn_create(self): h = 0 if self.check_json == True: + none_call_log_title.add_flag(lv.obj.FLAG.HIDDEN) self.call_log_detail_list.delete()#先删除一次控件 self.call_log_detail_list = lv.obj(call_log_screen) self.call_log_detail_list.set_pos(0, 50) @@ -1313,7 +1436,7 @@ class CallLogScreen(Screen): sort_tmp = self.read_call_log.values() sort_new = sorted(sort_tmp, key = lambda i: i['timesec'],reverse = True)#按照时间戳进行排序 去掉最旧的一次数据如果满了五十条 # print("self.call_log :{} \r\n sort_new:{}\r\n".format(self.read_call_log,sort_new)) - none_call_log_title.add_flag(lv.obj.FLAG.HIDDEN) + for sort_new_tmp in sort_new: #字典 key value num_count = sort_new_tmp["count"]#获取通话次数 num_name = sort_new_tmp["name"]#获取名称 @@ -1361,12 +1484,10 @@ class CallLogScreen(Screen): _btn_label5.set_text(num_name) _btn_label5.set_long_mode(lv.label.LONG.DOT) _btn_label5.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT) - h = h + 1 else: - self.call_log_detail_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本 none_call_log_title.clear_flag(lv.obj.FLAG.HIDDEN) - + self.call_log_detail_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本 def calling(self,e): # print("e.get_text():{} {}".format(e.get_target().get_child(0).get_text(),e.get_target().get_child(3).get_text())) @@ -1407,7 +1528,6 @@ class CallLogScreen(Screen): j+=1 else: self.name = phnoname - self.pro_state = 0 else: self.name = phnoname @@ -2014,6 +2134,7 @@ class OnCallScreen(Screen): name = EventMesh.publish("get_phonename") on_call_label_name.set_text(name) on_call_label.set_text(str(self.meta_info)) + on_call_second_label.set_text("00:00") def refresh(self,e): min = self.count_sec/60 @@ -2329,13 +2450,18 @@ class Spo2Screen(Screen): self.meta = spo2_screen self.timer = osTimer() self.point = 0 + self.old_spo2_value = 0 + self.spo2_value = 0 def post_processor_after_initialization(self): + self.point = 0 + self.spo2_value = 0 self.timer.start(1*1000, 1, self.start_measure) def start_measure(self,*args): self.point = self.point + 1 if self.point == 1: + self.spo2_value = 96 spo2_label.set_text("96 %") spo2_label_1.set_text("测量中") @@ -2352,10 +2478,10 @@ class Spo2Screen(Screen): spo2_label_1.set_text("测量完成") self.timer.stop() self.point = 0 + self.old_spo2_value = self.spo2_value + # spo2_last_time.set_text() def done_return(self): - # spo2_start_btn.clear_flag(lv.obj.FLAG.HIDDEN) - # spo2_now_value.add_flag(lv.obj.FLAG.HIDDEN) self.timer.stop() EventMesh.publish("load_screen", {"screen": "main_menu"}) 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 cb5df5b4..78e72380 100644 --- a/3.code/1.watch/2.code/ui_main_menu.py +++ b/3.code/1.watch/2.code/ui_main_menu.py @@ -32,6 +32,11 @@ 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_20.bin",20,0) +style_font_youyuan_25 = lv.style_t() +style_font_youyuan_25.init() +style_font_youyuan_25.set_text_color(lv.color_make(0xff, 0xff, 0xff)) +style_font_youyuan_25.set_text_font_v2("font_20.bin",20,0) + style_btn = lv.style_t() style_btn.init() style_btn.set_bg_opa(lv.OPA.TRANSP) @@ -285,145 +290,145 @@ class MainMenu2(): #支付宝 self.MainMenu2_alipay = self.MainMenu2.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_alipay = lv.img(self.MainMenu2_alipay) - self.MainMenu2_img_alipay.set_size(160,160) - self.MainMenu2_img_alipay.center() + self.MainMenu2_img_alipay.set_size(128,128) + self.MainMenu2_img_alipay.set_pos(56,50) self.MainMenu2_img_alipay.set_src("E:/static/main_menu/main_menu2/alipay_.jpg") 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.label = lv.label(self.MainMenu2_alipay) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("支付宝") - # 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.label = lv.label(self.MainMenu2_alipay) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("支付宝") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #拨号盘 self.MainMenu2_phone = self.MainMenu2.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_phone = lv.img(self.MainMenu2_phone) - self.MainMenu2_img_phone.set_size(160,160) - self.MainMenu2_img_phone.center() + self.MainMenu2_img_phone.set_size(128,128) + self.MainMenu2_img_phone.set_pos(56,50) self.MainMenu2_img_phone.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.jpg") 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.label = lv.label(self.MainMenu2_phone) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("通话") - # 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.label = lv.label(self.MainMenu2_phone) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("拨号盘") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #通讯录 self.MainMenu2_contacts = self.MainMenu2.add_tile(2, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_contacts = lv.img(self.MainMenu2_contacts) - self.MainMenu2_img_contacts.set_size(160,160) - self.MainMenu2_img_contacts.center() + self.MainMenu2_img_contacts.set_size(128,128) + self.MainMenu2_img_contacts.set_pos(56,50) self.MainMenu2_img_contacts.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.jpg") 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.label = lv.label(self.MainMenu2_contacts) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("通讯录") - # 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.label = lv.label(self.MainMenu2_contacts) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("通讯录") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #心律检测 self.MainMenu2_heartrate = self.MainMenu2.add_tile(3, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_heartrate = lv.img(self.MainMenu2_heartrate) - self.MainMenu2_img_heartrate.set_size(160,160) - self.MainMenu2_img_heartrate.center() + self.MainMenu2_img_heartrate.set_size(128,128) + self.MainMenu2_img_heartrate.set_pos(56,50) self.MainMenu2_img_heartrate.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.jpg") 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.label = lv.label(self.MainMenu2_heartrate) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("心率") - # 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.label = lv.label(self.MainMenu2_heartrate) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("心率") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #血样检测 self.MainMenu2_spo2 = self.MainMenu2.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_spo2 = lv.img(self.MainMenu2_spo2) - self.MainMenu2_img_spo2.set_size(160,160) - self.MainMenu2_img_spo2.center() + self.MainMenu2_img_spo2.set_size(128,128) + self.MainMenu2_img_spo2.set_pos(56,50) self.MainMenu2_img_spo2.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.jpg") 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.label = lv.label(self.MainMenu2_spo2) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("血氧") - # 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.label = lv.label(self.MainMenu2_spo2) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("血氧") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #工具箱 self.MainMenu2_toolbox = self.MainMenu2.add_tile(5, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_toolbox = lv.img(self.MainMenu2_toolbox) - self.MainMenu2_img_toolbox.set_size(160,160) - self.MainMenu2_img_toolbox.center() + self.MainMenu2_img_toolbox.set_size(128,128) + self.MainMenu2_img_toolbox.set_pos(56,50) self.MainMenu2_img_toolbox.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.jpg") 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.label = lv.label(self.MainMenu2_toolbox) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("工具箱") - # 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.label = lv.label(self.MainMenu2_toolbox) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("工具箱") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #设置 self.MainMenu2_setting = self.MainMenu2.add_tile(6, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_setting = lv.img(self.MainMenu2_setting) - self.MainMenu2_img_setting.set_size(160,160) - self.MainMenu2_img_setting.center() + self.MainMenu2_img_setting.set_size(128,128) + self.MainMenu2_img_setting.set_pos(56,50) self.MainMenu2_img_setting.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.jpg") 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.label = lv.label(self.MainMenu2_setting) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("设置") - # 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.label = lv.label(self.MainMenu2_setting) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("设置") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #体温测量 self.MainMenu2_temperature = self.MainMenu2.add_tile(7, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_temperature = lv.img(self.MainMenu2_temperature) - self.MainMenu2_img_temperature.set_size(160,160) - self.MainMenu2_img_temperature.center() + self.MainMenu2_img_temperature.set_size(128,128) + self.MainMenu2_img_temperature.set_pos(56,50) self.MainMenu2_img_temperature.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.jpg") 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.label = lv.label(self.MainMenu2_temperature) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("体温") - # 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.label = lv.label(self.MainMenu2_temperature) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("体温") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT) #微聊 self.MainMenu2_wechat = self.MainMenu2.add_tile(8, 0, lv.DIR.LEFT | lv.DIR.RIGHT) self.MainMenu2_img_wechat = lv.img(self.MainMenu2_wechat) - self.MainMenu2_img_wechat.set_size(160,160) - self.MainMenu2_img_wechat.center() + self.MainMenu2_img_wechat.set_size(128,128) + self.MainMenu2_img_wechat.set_pos(56,50) self.MainMenu2_img_wechat.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.jpg") 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.label = lv.label(self.MainMenu2_wechat) - # self.label.set_pos(0, 280) - # self.label.set_size(240, 40) - # self.label.set_text("微聊") - # 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.label = lv.label(self.MainMenu2_wechat) + self.label.set_pos(0, 240) + self.label.set_size(240, 80) + self.label.set_text("微聊") + 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_25, lv.PART.MAIN | lv.STATE.DEFAULT)