99 lines
3.1 KiB
Python
99 lines
3.1 KiB
Python
# 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
|