LISHUZUOXUN_yangjiang/LSZXPagesLibrary/running_config_widget_defin...

361 lines
11 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: gb2312
from PyQt5.QtCore import Qt, QSize
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import *
from BaseFrontend.based_widget import BasedWidget
class RunningConfigPageWidgetDefine(BasedWidget):
def __init__(self):
super().__init__()
# 定义控件按Ctrl+点击快速跳转编辑)
"""**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区"""
# 空白控件
self.empty_box = self._init_empty_widget()
# 返回上一页
self.back_pre_button = self._init_back_pre_button()
# 标题控件
self.title_label = self._init_title_widget()
# 回家按钮
self.back_home_button = self._init_back_button_widget()
# 一条直线
self.line_widget = self._init_line_widget()
# 总圈数标题
self.round_title = self._init_round_title_widget()
# 总圈数减号
self.round_down_button = self._init_round_down_button_widget()
# 总圈数数值
self.round_num_widget = self._init_round_num_widget()
# 总圈数加号
self.round_add_button = self._init_round_add_button_widget()
# 总圈数按钮和数值widget用于设置边框
self.all_round_button_widget = self._init_all_round_button_widget()
# 圈时标题
self.round_time_title = self._init_round_time_title_widget()
# 圈时减号
self.round_time_down_button = self._init_round_time_down_button_widget()
# 圈时数值
self.round_time_widget = self._init_round_time_num_widget()
# 圈时加号
self.round_time_add_button = self._init_round_time_add_button_widget()
# 最小圈时按钮和数值widget用于设置边框
self.round_time_button_widget = self._init_round_time_button_widget()
# 语音播报按钮
# self.sound_button = self._init_sound_button_widget()
# 语音播报文字提示
# self.sound_label = self._init_sound_label_widget()
# 语音播报复选框
self.sound_checkbox = self._init_sound_checkbox_widget()
# 请确认参加长跑考试的人员名单提示
self.running_tips_label = self._init_running_tips_label_widget()
# 参加长跑人员滚动区域
self.scroll_area = self._init_scroll_area_widget()
# 把确认参加考试标题和人员名单区域添加进一个widget用于设置边框
self.main_widget = self._init_main_widget()
# 开始测试按钮
self.start_button = self._init_start_button_widget()
# logo图标
self.logo_label = self._init_logo_label()
# 初始化空白控件
@staticmethod
def _init_empty_widget():
empty_widget = QFrame()
empty_widget.setFrameShape(QFrame.Box)
empty_widget.setLineWidth(0)
return empty_widget
@staticmethod
def _init_back_pre_button():
back_pre_button = QPushButton()
icon = QIcon("assets/left.png")
back_pre_button.setIconSize(QSize(60, 60))
back_pre_button.setIcon(icon)
back_pre_button.setStyleSheet(
"border: none;"
)
return back_pre_button
@staticmethod
def _init_title_widget():
title_label = QLabel("<训练类型标题>")
title_label.setAlignment(Qt.AlignCenter)
title_label.setStyleSheet(
"font: 30px \"Microsoft YaHei UI\";"
"letter-spacing: 4px"
)
return title_label
@staticmethod
def _init_back_button_widget():
back_home_button = QPushButton("返回首页")
icon = QIcon("assets/home.png")
back_home_button.setIconSize(QSize(32, 32))
back_home_button.setIcon(icon)
back_home_button.setStyleSheet(
"font: 24px \"Microsoft YaHei UI\";"
"border:none;"
"color:#222222;"
"letter-spacing: 10px;"
"border-radius:4px;"
"border:1px solid #222222"
";height: 60%;"
)
return back_home_button
@staticmethod
def _init_line_widget():
line = QFrame()
line.setFixedHeight(1) # 设置高度为 2 像素
line.setStyleSheet("border:1px solid #000000")
line.setFrameShape(QFrame.HLine) # 设置为水平线
return line
# 初始化总圈数标题
@staticmethod
def _init_round_title_widget():
round_title = QLabel("总圈数:")
round_title.setStyleSheet(
"font: 28px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
)
return round_title
# 初始化总圈数减号
@staticmethod
def _init_round_down_button_widget():
round_down_button = QPushButton("-")
round_down_button.setStyleSheet(
"font: 100px \"Microsoft YaHei UI\";"
"color: #ffffff;"
"background-color: #409eff;"
"height: 100%;"
"margin-top: -9px;"
"border: none;"
)
return round_down_button
# 初始化总圈数数值
@staticmethod
def _init_round_num_widget():
round_num = QLabel("3")
round_num.setAlignment(Qt.AlignCenter)
round_num.setStyleSheet(
"font: 600 30px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"border-top: 2px solid #e7e7e7;"
"border-bottom: 2px solid #e7e7e7;"
"border-left: none;"
"border-right: none;"
)
return round_num
# 初始化总圈数加号
@staticmethod
def _init_round_add_button_widget():
round_add_button = QPushButton("+")
round_add_button.setStyleSheet(
"font: 75px \"Microsoft YaHei UI\";"
"color: #ffffff;"
"background-color: #409eff;"
"height: 100%;"
"margin-top: -9px;"
"border: none;"
)
return round_add_button
# 初始化总圈数加号
@staticmethod
def _init_all_round_button_widget():
all_round_button_widget = QWidget()
all_round_button_widget.setStyleSheet(
"border: 2px solid #e7e7e7;"
)
return all_round_button_widget
# 初始化圈时标题
@staticmethod
def _init_round_time_title_widget():
round_time_title = QLabel("最小圈时:")
round_time_title.setStyleSheet(
"font: 28px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
)
return round_time_title
# 初始化圈时减号
@staticmethod
def _init_round_time_down_button_widget():
round_time_down_button = QPushButton("-")
round_time_down_button.setStyleSheet(
"font: 100px \"Microsoft YaHei UI\";"
"color: #ffffff;"
"background-color: #409eff;"
"height: 100%;"
"margin-top: -9px;"
"border: none;"
)
return round_time_down_button
# 初始化圈时数值
@staticmethod
def _init_round_time_num_widget():
round_time_num = QLabel("60")
round_time_num.setAlignment(Qt.AlignCenter)
round_time_num.setStyleSheet(
"font: 600 30px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"border-top: 2px solid #e7e7e7;"
"border-bottom: 2px solid #e7e7e7;"
"border-left: none;"
"border-right: none;"
)
return round_time_num
# 初始化圈时加号
@staticmethod
def _init_round_time_add_button_widget():
round_time_add_button = QPushButton("+")
round_time_add_button.setStyleSheet(
"font: 75px \"Microsoft YaHei UI\";"
"color: #ffffff;"
"background-color: #409eff;"
"height: 100%;"
"margin-top: -9px;"
"border: none;"
)
return round_time_add_button
@staticmethod
def _init_round_time_button_widget():
round_time_button_widget = QWidget()
round_time_button_widget.setStyleSheet(
"border: 2px solid #e7e7e7;"
)
return round_time_button_widget
@staticmethod
def _init_sound_label_widget():
sound_label = QLabel("语音播报")
sound_label.setStyleSheet(
"font: 30px \"Microsoft YaHei UI\";"
)
return sound_label
@staticmethod
def _init_sound_checkbox_widget():
sound_checkbox = QCheckBox("语音播报")
sound_checkbox.setStyleSheet(
"QCheckBox { font: 30px \"Microsoft YaHei UI\"; }"
)
sound_checkbox.setStyleSheet(sound_checkbox.styleSheet() + "QCheckBox:checked { color: #409eff; }")
return sound_checkbox
@staticmethod
def _init_sound_button_widget():
sound_button = QPushButton()
sound_button.setFixedWidth(30)
sound_button.setStyleSheet(
"height: 30px;"
"border: 1px solid #222222;"
"border-radius: 2px;"
"background-color: #ffffff;"
)
return sound_button
@staticmethod
def _init_running_tips_label_widget():
running_tips_label = QLabel("请确认参加长跑考试的人员名单")
running_tips_label.setStyleSheet(
"font: 24px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"border: none;"
"margin-left: 20px"
)
return running_tips_label
@staticmethod
def init_name_label_widget():
name_label = QLabel()
name_label.setAlignment(Qt.AlignCenter)
name_label.setStyleSheet(
"font: 24px \"Microsoft YaHei UI\";"
"color: #101010;"
"padding:0;"
"border: none;"
)
return name_label
@staticmethod
def init_id_label_widget():
id_label = QLabel()
id_label.setAlignment(Qt.AlignCenter)
id_label.setStyleSheet(
"border: none;"
"padding: 4px 28px 4px 28px;"
"font: 20px \"Microsoft YaHei UI\";"
"margin: 3px 6px 6px 6px;"
"background-color: #e7e7e7;"
"border-radius: 4px;"
"color: #454545;"
)
return id_label
@staticmethod
def init_person_card_widget():
person_card_widget = QWidget()
person_card_widget.setStyleSheet(
"border-radius: 4px;"
"border: 1px solid #bbbbbb;"
"margin: 4px 4px 4px 4px;"
)
return person_card_widget
@staticmethod
def _init_scroll_area_widget():
scroll_area = QScrollArea()
scroll_area.setWidgetResizable(True)
scroll_area.setStyleSheet(
"border: none"
)
return scroll_area
@staticmethod
def _init_main_widget():
main_widget = QWidget()
main_widget.setStyleSheet(
"border:1px solid #bbbbbb;"
"border-radius: 4px"
)
return main_widget
# 初始化开始测试按钮
@staticmethod
def _init_start_button_widget():
start_button = QPushButton("开始测试")
start_button.setStyleSheet(
"font: 600 28px \"Microsoft YaHei UI\";"
"border: none;"
"color: #ffffff;"
"letter-spacing: 10px;"
"border-radius: 4px;"
"height: 70%;"
"background-color: #67c23a;"
)
return start_button
@staticmethod
def _init_logo_label():
logo_img = QLabel()
logo_img.setStyleSheet(
"border-image: url(assets/logo.png);"
"background-size: contain;"
"background-repeat: no-repeat;"
"background-position: center;"
)
logo_img.setAlignment(Qt.AlignCenter)
logo_img.setScaledContents(True)
logo_img.setContentsMargins(12, 6, 12, 6)
return logo_img