# coding: gb2312 from PyQt5.QtGui import QColor from PyQt5.QtWidgets import * from PyQt5.QtCore import * class DisplayTopOne(QWidget): def __init__(self): super().__init__() # self.wifi_widget = self.init_wifi_widget() # self.wifi_disconnect_widget = self.init_wifi_disconnect_widget() # self.wifi_stacked_widget = QStackedWidget() # self.wifi_stacked_widget.addWidget(self.wifi_disconnect_widget) # self.wifi_stacked_widget.addWidget(self.wifi_widget) self.item_widget = self._init_item_widget() self.badge_widget = self._init_badge_widget() self.badge_label = self._init_badge_label() self.top_one_widget = self._init_top_one_widget() self.top_one_title = self._init_top_one_title() self.top_one_name = self._init_top_one_name() self.top_one_score = self._init_top_one_score() self.sit_up_top = self._init_top_one_widget() self.sit_up_title = self._init_test_one_title() self.sit_up_name = self._init_test_one_name() self.sit_up_score = self._init_test_one_score() self.pull_up_top = self._init_top_one_widget() self.pull_up_title = self._init_test_one_title() self.pull_up_name = self._init_test_one_name() self.pull_up_score = self._init_test_one_score() self.runaround_top = self._init_top_one_widget() self.runaround_title = self._init_test_one_title() self.runaround_name = self._init_test_one_name() self.runaround_score = self._init_test_one_score() self.running_top = self._init_top_one_widget() self.running_title = self._init_test_one_title() self.running_name = self._init_test_one_name() self.running_score = self._init_test_one_score() self.push_up_top = self._init_top_one_widget() self.push_up_title = self._init_test_one_title() self.push_up_name = self._init_test_one_name() self.push_up_score = self._init_test_one_score() self.sit_up_title.setText('仰卧起坐第一名') self.pull_up_title.setText('引体向上第一名') self.runaround_title.setText('30*2蛇形跑第一名') self.running_title.setText('三千米第一名') self.push_up_title.setText('俯卧撑第一名') self.top_one_bottom_layout = QHBoxLayout() self.top_one_bottom_layout.setContentsMargins(0, 0, 0, 0) self.top_one_bottom_layout.addWidget(self.top_one_name, 50) self.top_one_bottom_layout.addWidget(self.top_one_score, 50) self.top_one_layout = QVBoxLayout() self.top_one_layout.setContentsMargins(50, 0, 50, 0) self.top_one_layout.addWidget(self.top_one_title, 50) self.top_one_layout.addLayout(self.top_one_bottom_layout, 50) self.top_one_widget.setLayout(self.top_one_layout) self.sit_up_bottom_layout = QHBoxLayout() self.sit_up_bottom_layout.setContentsMargins(0, 0, 0, 0) self.sit_up_bottom_layout.addWidget(self.sit_up_name, 50) self.sit_up_bottom_layout.addWidget(self.sit_up_score, 50) self.sit_up_layout = QVBoxLayout() self.sit_up_layout.setContentsMargins(20, 0, 20, 0) self.sit_up_layout.addWidget(self.sit_up_title, 50) self.sit_up_layout.addLayout(self.sit_up_bottom_layout, 50) self.sit_up_top.setLayout(self.sit_up_layout) self.pull_up_bottom_layout = QHBoxLayout() self.pull_up_bottom_layout.setContentsMargins(0, 0, 0, 0) self.pull_up_bottom_layout.addWidget(self.pull_up_name, 50) self.pull_up_bottom_layout.addWidget(self.pull_up_score, 50) self.pull_up_layout = QVBoxLayout() self.pull_up_layout.setContentsMargins(20, 0, 20, 0) self.pull_up_layout.addWidget(self.pull_up_title, 50) self.pull_up_layout.addLayout(self.pull_up_bottom_layout, 50) self.pull_up_top.setLayout(self.pull_up_layout) self.runaround_bottom_layout = QHBoxLayout() self.runaround_bottom_layout.setContentsMargins(0, 0, 0, 0) self.runaround_bottom_layout.addWidget(self.runaround_name, 50) self.runaround_bottom_layout.addWidget(self.runaround_score, 50) self.runaround_layout = QVBoxLayout() self.runaround_layout.setContentsMargins(20, 0, 20, 0) self.runaround_layout.addWidget(self.runaround_title, 50) self.runaround_layout.addLayout(self.runaround_bottom_layout, 50) self.runaround_top.setLayout(self.runaround_layout) self.running_bottom_layout = QHBoxLayout() self.running_bottom_layout.setContentsMargins(0, 0, 0, 0) self.running_bottom_layout.addWidget(self.running_name, 50) self.running_bottom_layout.addWidget(self.running_score, 50) self.running_layout = QVBoxLayout() self.running_layout.setContentsMargins(20, 0, 20, 0) self.running_layout.addWidget(self.running_title, 50) self.running_layout.addLayout(self.running_bottom_layout, 50) self.running_top.setLayout(self.running_layout) self.push_up_bottom_layout = QHBoxLayout() self.push_up_bottom_layout.setContentsMargins(0, 0, 0, 0) self.push_up_bottom_layout.addWidget(self.push_up_name, 50) self.push_up_bottom_layout.addWidget(self.push_up_score, 50) self.push_up_layout = QVBoxLayout() self.push_up_layout.setContentsMargins(20, 0, 20, 0) self.push_up_layout.addWidget(self.push_up_title, 50) self.push_up_layout.addLayout(self.push_up_bottom_layout, 50) self.push_up_top.setLayout(self.push_up_layout) self.top_layout = QHBoxLayout() self.top_layout.setContentsMargins(0, 0, 50, 0) self.top_layout.addWidget(self.badge_widget, 17) self.top_layout.addWidget(self.badge_label, 53) self.top_layout.addWidget(self.top_one_widget, 30) self.bottom_layout = QHBoxLayout() self.bottom_layout.setContentsMargins(0, 0, 0, 0) self.bottom_layout.addWidget(self.sit_up_top, 20) self.bottom_layout.addWidget(self.pull_up_top, 20) self.bottom_layout.addWidget(self.runaround_top, 20) self.bottom_layout.addWidget(self.running_top, 20) self.bottom_layout.addWidget(self.push_up_top, 20) self.main_layout = QVBoxLayout() self.main_layout.setContentsMargins(0, 0, 0, 0) self.main_layout.addLayout(self.top_layout, 50) self.main_layout.addLayout(self.bottom_layout, 50) self.item_widget.setLayout(self.main_layout) self.layout = QHBoxLayout() self.layout.setContentsMargins(0, 0, 0, 0) self.layout.addWidget(self.item_widget) self.setLayout(self.layout) def set_data(self, data): if len(data['total']) > 0: self.top_one_name.setText(data['total']['name']) self.top_one_score.setText('(' + str(data['total']['score']) + '分)') else: self.top_one_name.setText('') self.top_one_score.setText('暂无数据') self.empty_label(self.top_one_score) if len(data['situp']) > 0: self.sit_up_name.setText(data['situp']['name']) self.sit_up_score.setText('(' + str(data['situp']['score']) + '个)') else: self.sit_up_name.setText('') self.sit_up_score.setText('暂无数据') self.empty_label(self.sit_up_score) if len(data['pullup']) > 0: self.pull_up_name.setText(data['pullup']['name']) self.pull_up_score.setText('(' + str(data['pullup']['score']) + '个)') else: self.pull_up_name.setText('') self.pull_up_score.setText('暂无数据') self.empty_label(self.pull_up_score) if len(data['runaround']) > 0: self.runaround_name.setText(data['runaround']['name']) self.runaround_score.setText('(' + str(data['runaround']['score']) + '秒)') else: self.runaround_name.setText('') self.runaround_score.setText('暂无数据') self.empty_label(self.runaround_score) if len(data['running']) > 0: self.running_name.setText(data['running']['name']) self.running_score.setText('(' + str(data['running']['score']) + ')') else: self.running_name.setText('') self.running_score.setText('暂无数据') self.empty_label(self.running_score) if len(data['pushup']) > 0: self.push_up_name.setText(data['pushup']['name']) self.push_up_score.setText('(' + str(data['pushup']['score']) + '个)') else: self.push_up_name.setText('') self.push_up_score.setText('暂无数据') self.empty_label(self.push_up_score) def empty_label(self, empty_label): empty_label.setAlignment(Qt.AlignCenter) empty_label.setStyleSheet( "color: #ffffff;" "font: 600 20px \"Microsoft YaHei UI\";" "background-color: none;" "background: none;" "border-image: none;" "margin-bottom: 20px;" "margin-right: 30px;" ) @staticmethod def _init_item_widget(): item_widget = QWidget() item_widget.setStyleSheet( "background-color: none;" "border-radius: 4px;" "background: none;" ) return item_widget @staticmethod def _init_badge_widget(): badge_widget = QLabel() badge_widget.setStyleSheet( "border-image: url(assets/badge.png);" "background-size: contain;" "background-repeat: no-repeat;" "background-position: center;" "margin: 6px;" ) return badge_widget @staticmethod def _init_badge_label(): badge_label = QLabel('中国人民武装警察部队') badge_label.setStyleSheet( "color: #fcef24;" "text-shadow: 1.5px 1.5px 0px #b78c0c;" "letter-spacing: 4px;" "font: 600 24px \"Microsoft YaHei UI\";" ) return badge_label @staticmethod def _init_top_one_widget(): top_one_widget = QWidget() top_one_widget.setStyleSheet( "border-image: url(assets/top_bg.png);" "background-size: contain;" "background-repeat: no-repeat;" "background-position: center;" "background: none;" "border: none;" "background-color: none;" ) return top_one_widget @staticmethod def _init_top_one_title(): top_one_title = QLabel('总分第一名') top_one_title.setAlignment(Qt.AlignCenter) top_one_title.setStyleSheet( "color: #ffffff;" "font: 600 26px \"Microsoft YaHei UI\";" "background-color: none;" "background: none;" "border-image: none;" "margin-top: 20px;" ) return top_one_title @staticmethod def _init_top_one_name(): top_one_name = QLabel() top_one_name.setAlignment(Qt.AlignCenter) top_one_name.setStyleSheet( "color: #08a4ff;" "font: 600 24px \"Microsoft YaHei UI\";" "background-color: none;" "background: none;" "border-image: none;" "margin-bottom: 20px;" ) return top_one_name @staticmethod def _init_top_one_score(): top_one_score = QLabel() top_one_score.setAlignment(Qt.AlignCenter) top_one_score.setStyleSheet( "color: #ffffff;" "font: 600 24px \"Microsoft YaHei UI\";" "background-color: none;" "background: none;" "border-image: none;" "margin-bottom: 20px;" ) return top_one_score @staticmethod def _init_test_one_title(): test_one_title = QLabel() test_one_title.setAlignment(Qt.AlignCenter) test_one_title.setStyleSheet( "color: #ffffff;" "font: 600 17px \"Microsoft YaHei UI\";" "background-color: none;" "background: none;" "border-image: none;" "margin-top: 20px;" ) return test_one_title @staticmethod def _init_test_one_name(): test_one_name = QLabel() test_one_name.setAlignment(Qt.AlignCenter) test_one_name.setStyleSheet( "color: #ffffff;" "font: 600 19px \"Microsoft YaHei UI\";" "background-color: none;" "background: none;" "border-image: none;" "margin-bottom: 20px;" "color: #08a4ff;" ) return test_one_name @staticmethod def _init_test_one_score(): test_one_score = QLabel() test_one_score.setAlignment(Qt.AlignCenter) test_one_score.setStyleSheet( "color: #ffffff;" "font: 600 17px \"Microsoft YaHei UI\";" "background-color: none;" "background: none;" "border-image: none;" "margin-bottom: 20px;" ) return test_one_score @staticmethod def init_table_stacked_widget(): table_stacked_widget = QStackedWidget() table_stacked_widget.setStyleSheet( "background: transparent;" "border: none;" "border-image: none;" ) return table_stacked_widget