# coding: gb2312 from PyQt5.QtCore import Qt, QSize from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import * from BaseFrontend.based_widget import BasedWidget from LSZXPagesLibrary.circular_running_table import CircularRunningTable class RunningTestPageWidgetDefine(BasedWidget): def __init__(self): super().__init__() # 定义控件(按Ctrl+点击快速跳转编辑) """**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区""" # 空白控件 self.empty_box = self._init_empty_widget() # 标题 self.title_label = self._init_title_label() # 回家按钮 self.back_home_button = self._init_back_button_widget() # 一条直线 self.line_widget = self._init_line_widget() # 实时显示画面 self.realtime_widget = CircularRunningTable() # 结束按键 self.stop_button = self._init_stop_button() # 图标 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_title_label(): 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_stop_button(): stop_button = QPushButton("结束测试") stop_button.setStyleSheet( "font:600 28px \"Microsoft YaHei UI\";" "border:none;" "color:#ffffff;" "letter-spacing: 10px;" "border-radius:4px;" "height: 80%;" "background-color: #f56c6c;" ) return stop_button @staticmethod def _init_logo_label(): logo_img = QLabel() logo_img.setFrameShape(QFrame.Box) logo_img.setLineWidth(0) 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) return logo_img