# coding: gb2312 from PyQt5.QtCore import QTimer from LSZXPagesManagerLibrary.display_page_layout_define import DisplayPageLayoutDefine from LSZXPagesManagerLibrary.consensus import * from datetime import datetime class DisplayPage(DisplayPageLayoutDefine): def __init__(self): super(DisplayPage, self).__init__() self.sit_up_title = '仰卧起坐' self.sit_up_list = [ {"name": "王小二1", "id": 1, "hr": 23, "bo": 49, "count": 30}, {"name": "王小二1", "id": 2, "hr": 83, "bo": 49, "count": 30}, {"name": "王小二1", "id": 3, "hr": 93, "bo": 49, "count": 30}, {"name": "王小二1", "id": 4, "hr": 93, "bo": 49, "count": 30}, {"name": "王小二1", "id": 5, "hr": 93, "bo": 49, "count": 30} ] self.pull_up_title = '引体向上' self.pull_up_list = [ {"name": "王小二2", "id": 1, "hr": 23, "bo": 49, "count": 40}, {"name": "王小二2", "id": 2, "hr": 83, "bo": 49, "count": 40}, {"name": "王小二2", "id": 3, "hr": 93, "bo": 49, "count": 40}, {"name": "王小二2", "id": 4, "hr": 93, "bo": 49, "count": 40}, {"name": "王小二2", "id": 5, "hr": 93, "bo": 49, "count": 40} ] self.run_bf_title = '30*2蛇形跑' self.run_bf_list = [ {"name": "王小二3", "id": 1, "hr": 28, "bo": 69, "count": 30}, {"name": "王小二3", "id": 2, "hr": 88, "bo": 69, "count": 30}, {"name": "王小二3", "id": 3, "hr": 98, "bo": 69, "count": 30}, {"name": "王小二3", "id": 4, "hr": 98, "bo": 69, "count": 30}, {"name": "王小二3", "id": 5, "hr": 98, "bo": 69, "count": 30} ] self.push_up_title = '俯卧撑' self.push_up_list = [] # 模拟接口返回数据 -------> 成绩汇总 self.total_list = [ { "id": 1, "name": "王奕辰", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.89", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": "00:02:36", "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 2, "name": "赵嘉瑞", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "17.89", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'G'}, "bo": {"bo": "98%", "color": 'G'}, }, { "id": 3, "name": "孙锦川", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "20.9", "is_changed": False}, "pushup": {"count": 60, "is_changed": False}, "pullup": {"count": 60, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'Y'}, "bo": {"bo": "98%", "color": 'Y'}, }, { "id": 4, "name": "钱易安", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'R'}, "bo": {"bo": "98%", "color": 'R'}, }, { "id": 5, "name": "李清峰", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 6, "name": "白俊彦", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": 100, "is_changed": False}, "pullup": {"count": 100, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 7, "name": "周文翰", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 8, "name": "吴承泽", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": False}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 9, "name": "孟梓楠", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": False}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 10, "name": "杨云嵩", "situp": {"count": 63, "is_changed": False}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 11, "name": "王小三", "situp": {"count": 63, "is_changed": False}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 12, "name": "王小四", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": True}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": True}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 13, "name": "王小五", "situp": {"count": 63, "is_changed": False}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": True}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'R'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 14, "name": "王小刘", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": True}, "hr": {"hr": 90, "color": 'R'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 15, "name": "王奕辰", "situp": {"count": 63, "is_changed": False}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 16, "name": "赵嘉瑞", "situp": {"count": 63, "is_changed": False}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": False}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'G'}, "bo": {"bo": "98%", "color": 'G'}, }, { "id": 17, "name": "孙锦川", "situp": {"count": 63, "is_changed": False}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": True}, "hr": {"hr": 90, "color": 'Y'}, "bo": {"bo": "98%", "color": 'Y'}, }, { "id": 18, "name": "钱易安", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'R'}, "bo": {"bo": "98%", "color": 'R'}, }, { "id": 19, "name": "王奕辰", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 20, "name": "赵嘉瑞", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'G'}, "bo": {"bo": "98%", "color": 'G'}, }, { "id": 21, "name": "孙锦川", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'Y'}, "bo": {"bo": "98%", "color": 'Y'}, }, { "id": 22, "name": "钱易安", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'R'}, "bo": {"bo": "98%", "color": 'R'}, }, { "id": 1, "name": "王奕辰", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.89", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": "00:02:36", "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 2, "name": "赵嘉瑞", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "17.89", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'G'}, "bo": {"bo": "98%", "color": 'G'}, }, { "id": 3, "name": "孙锦川", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "20.9", "is_changed": False}, "pushup": {"count": 60, "is_changed": False}, "pullup": {"count": 60, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'Y'}, "bo": {"bo": "98%", "color": 'Y'}, }, { "id": 4, "name": "钱易安", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'R'}, "bo": {"bo": "98%", "color": 'R'}, }, { "id": 5, "name": "李清峰", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 6, "name": "白俊彦", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": 100, "is_changed": False}, "pullup": {"count": 100, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 7, "name": "周文翰", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 8, "name": "吴承泽", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": False}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 9, "name": "孟梓楠", "situp": {"count": 63, "is_changed": True}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": False}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, { "id": 10, "name": "杨云嵩", "situp": {"count": 63, "is_changed": False}, "runaround": {"count": "0.8999999", "is_changed": False}, "pushup": {"count": None, "is_changed": False}, "pullup": {"count": None, "is_changed": True}, "running": {"count": 36, "is_changed": False}, "hr": {"hr": 90, "color": 'W'}, "bo": {"bo": "98%", "color": 'W'}, }, ] # 模拟接口返回数据 -------> 各项第一名 self.top_one_object = { "total": {"name": "王奕辰", "score": 80}, "situp": {"name": "王小二", "score": 63}, "runaround": {"name": "孟梓楠", "score": 17.11}, "pushup": {"name": "郑诚毅", "score": 58}, "pullup": {"name": "李清峰", "score": 43}, "running": {"name": "王奕辰", "score": '00:02:36'}, } # 模拟接口返回数据 -------> 三千米数据 self.running_list = [ { "id": 1, "name": "王奕辰", "hr": 90, "bo": "98%", "count": 36, "rank": 1, "finish": "未起始", "round": 0, "normal": False }, { "id": 2, "name": "赵嘉瑞", "hr": 90, "bo": "98%", "count": 40, "rank": 2, "finish": "未起始", "round": 0, "normal": True }, { "id": 3, "name": "孙锦川", "hr": 250, "bo": "98%", "count": 50, "rank": 3, "finish": "未起始", "round": 0, "normal": False }, { "id": 4, "name": "钱易安", "hr": 90, "bo": "98%", "count": 53, "rank": 4, "finish": "未起始", "round": 0, "normal": True }, { "id": 5, "name": "李清峰", "hr": 90, "bo": "98%", "count": 53, "rank": 5, "finish": "未起始", "round": 0, "normal": True }, { "id": 6, "name": "白俊彦", "hr": 90, "bo": "98%", "count": 53, "rank": 6, "finish": "未起始", "round": 0, "normal": True }, { "id": 7, "name": "周文翰", "hr": 90, "bo": "98%", "count": 53, "rank": 7, "finish": "未起始", "round": 0, "normal": True }, { "id": 8, "name": "吴承泽", "hr": 90, "bo": "98%", "count": 53, "rank": 8, "finish": "未起始", "round": 0, "normal": True }, { "id": 9, "name": "孟梓楠", "hr": 90, "bo": "98%", "count": 53, "rank": 9, "finish": "未起始", "round": 0, "normal": True }, { "id": 10, "name": "杨云嵩", "hr": 90, "bo": "98%", "count": 53, "rank": 10, "finish": "未起始", "round": 0, "normal": True }, { "id": 11, "name": "李鸾晖", "hr": 90, "bo": "98%", "count": 53, "rank": 11, "finish": "未起始", "round": 0, "normal": True }, { "id": 12, "name": "郭南禹", "hr": 90, "bo": "98%", "count": 53, "rank": 12, "finish": "未起始", "round": 0, "normal": True }, { "id": 13, "name": "郑诚毅", "hr": 90, "bo": "98%", "count": 53, "rank": 13, "finish": "未起始", "round": 0, "normal": True }, { "id": 14, "name": "王子衍", "hr": 90, "bo": "98%", "count": 53, "rank": 14, "finish": "未起始", "round": 0, "normal": True }, { "id": 15, "name": "邓嘉琦", "hr": 90, "bo": "98%", "count": 53, "rank": 15, "finish": "未起始", "round": 0, "normal": True }, { "id": 16, "name": "冯锦安", "hr": 90, "bo": "98%", "count": 53, "rank": 16, "finish": "未起始", "round": 0, "normal": True }, { "id": 17, "name": "王奕辰", "hr": 90, "bo": "98%", "count": 36, "rank": 17, "finish": "未起始", "round": 0, "normal": True }, { "id": 18, "name": "赵嘉瑞", "hr": 90, "bo": "98%", "count": 40, "rank": 18, "finish": "未起始", "round": 0, "normal": True }, { "id": 19, "name": "孙锦川", "hr": 250, "bo": "98%", "count": 50, "rank": 19, "finish": "未起始", "round": 0, "normal": False }, { "id": 20, "name": "钱易安", "hr": 90, "bo": "98%", "count": 53, "rank": 20, "finish": "未起始", "round": 0, "normal": True }, { "id": 21, "name": "李清峰", "hr": 90, "bo": "98%", "count": 53, "rank": 21, "finish": "未起始", "round": 0, "normal": True }, { "id": 22, "name": "白俊彦", "hr": 90, "bo": "98%", "count": 53, "rank": 22, "finish": "未起始", "round": 0, "normal": True }, { "id": 23, "name": "周文翰", "hr": 90, "bo": "98%", "count": 53, "rank": 23, "finish": "未起始", "round": 0, "normal": True }, { "id": 24, "name": "吴承泽", "hr": 90, "bo": "98%", "count": 53, "rank": 24, "finish": "未起始", "round": 0, "normal": True }, { "id": 25, "name": "孟梓楠", "hr": 90, "bo": "98%", "count": 53, "rank": 25, "finish": "未起始", "round": 0, "normal": True }, { "id": 26, "name": "吴承泽", "hr": 90, "bo": "98%", "count": 53, "rank": 26, "finish": "未起始", "round": 0, "normal": True }, { "id": 27, "name": "孟梓楠", "hr": 90, "bo": "98%", "count": 53, "rank": 27, "finish": "未起始", "round": 0, "normal": True }, { "id": 28, "name": "吴承泽", "hr": 90, "bo": "98%", "count": 53, "rank": 28, "finish": "未起始", "round": 0, "normal": True }, { "id": 29, "name": "孟梓楠", "hr": 90, "bo": "98%", "count": 53, "rank": 29, "finish": "未起始", "round": 0, "normal": True }, { "id": 30, "name": "孟梓楠", "hr": 90, "bo": "98%", "count": 53, "rank": 30, "finish": "未起始", "round": 0, "normal": True } ] if len(self.running_list) > 0: self.running_stacked_widget.addWidget(self.running_widget) else: self.running_stacked_widget.addWidget(self.init_empty_widget()) self.sit_up_widget.set_data(self.sit_up_title, self.sit_up_list) self.pull_up_widget.set_data(self.pull_up_title, self.pull_up_list) self.run_bf_widget.set_data(self.run_bf_title, self.run_bf_list) self.push_up_widget.set_data(self.push_up_title, self.push_up_list) self.grade_summary_widget.set_data(self.total_list) self.top_one_widget.set_data(self.top_one_object) self.sqm_widget.set_person(self.running_list) # 定时更新界面数据 self.update_timer = QTimer(self) self.update_timer.timeout.connect(self.realtime_display) # 激活数据自动刷新 self.realtime_display() self.update_timer.start(500) # 每秒更新一次 # 激活数据轮盘的更新 self.sqm_widget.resume() # 返回键事件 self.back_button.clicked.connect(self.back_button_action) # 获取当前年月日时分秒 self.cur_timer = QTimer(self) self.cur_timer.timeout.connect(self.cur_timer_fun) self.cur_timer.start(1000) # 每 1 秒更新一次时间 self.cur_timer_fun() def cur_timer_fun(self): now = datetime.now() time_str = now.strftime("%Y 年 %m 月 %d 日 %H:%M:%S") self.timer_widget.setText(time_str) def realtime_display(self): # 获得数据 person_score = self.running_list person_score = list(filter( lambda x: x[ID] in [person_mes[ID] for person_mes in self.running_list], person_score )) self.sqm_widget.update_person(person_score) def back_button_action(self): print('点击返回键')