LISHUZUOXUN_yangjiang/LSZXPagesLibrary/exercise_page_widget_define.py

198 lines
6.4 KiB
Python
Raw Normal View History

2024-09-23 14:54:15 +08:00
# coding: gb2312
from PyQt5.QtCore import Qt, QSize
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import *
import demo_dataset
from BaseFrontend.based_widget import BasedWidget
from LSZXPagesLibrary.bo_plot_graph_opengl import BoPlotGraph
from LSZXPagesLibrary.hr_plot_graph_opengl import HrPlotGraph
from LSZXPagesLibrary.video_displayer import VideoDisplayer
class ExercisePageWidgetDefine(BasedWidget):
def __init__(self):
super().__init__()
# <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>Ctrl+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><E0BCAD>
"""**<2A><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>**<2A><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>**<2A><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>**<2A><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>**<2A><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>**<2A><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>"""
# <20>հ׿ؼ<D7BF>
self.empty_box = self._init_empty_widget()
# <20><><EFBFBD><EFBFBD>
self.title_label = self._init_title_label()
# <20>ؼҰ<D8BC>ť
self.back_home_button = self._init_back_button_widget()
# һ<><D2BB>ֱ<EFBFBD><D6B1>
self.line_widget = self._init_line_widget()
# <20><><EFBFBD><EFBFBD>
self.id_title = self._init_id_title()
self.id_box = self._init_id_box()
# <20><><EFBFBD><EFBFBD>
self.name_title = self._init_name_title()
self.name_box = self._init_name_box()
# <20>
self.class_title = self._init_class_title()
self.class_box = self._init_class_box()
# <20><><EFBFBD><EFBFBD>
self.count_title = self._init_count_title()
self.count_box = self._init_count_box()
# <20><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʹ<CAB1>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
# TODO:<3A>滻Ϊ<E6BBBB><CEAA>ʽ<EFBFBD><CABD>Ƶ<EFBFBD><C6B5>
self.video_displayer = VideoDisplayer()
# <20><><EFBFBD><EFBFBD>Ѫ<EFBFBD><D1AA><EFBFBD>ؼ<EFBFBD>
self.hr_widget = HrPlotGraph()
self.bo_widget = BoPlotGraph()
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
self.stop_button = self._init_stop_button()
# ͼ<><CDBC>
self.logo_label = self._init_logo_label()
# <20><>ʼ<EFBFBD><CABC><EFBFBD>հ׿ؼ<D7BF>
@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("<ѵ<><D1B5><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>>")
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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ")
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) # <20><><EFBFBD>ø߶<C3B8>Ϊ 2 <20><><EFBFBD><EFBFBD>
line.setStyleSheet("border:1px solid #000000")
line.setFrameShape(QFrame.HLine) # <20><><EFBFBD><EFBFBD>Ϊˮƽ<CBAE><C6BD>
return line
@staticmethod
def _init_id_title():
id_title = QLabel("<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>")
id_title.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
id_title.setStyleSheet("font: 28px \"Microsoft YaHei UI\";letter-spacing: 4px;")
return id_title
@staticmethod
def _init_id_box():
id_box = QLabel("<<3C><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>>")
id_box.setContentsMargins(0, 0, 0, 0)
id_box.setStyleSheet(
"font:600 28px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"padding-left:10px;"
"border: 1px solid #222222;"
"border-radius:4px"
)
return id_box
@staticmethod
def _init_name_title():
name_title = QLabel("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
name_title.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
name_title.setStyleSheet("font: 28px \"Microsoft YaHei UI\";letter-spacing: 4px;")
return name_title
@staticmethod
def _init_name_box():
name_box = QLabel("<<3C><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>>")
name_box.setContentsMargins(0, 0, 0, 0)
name_box.setStyleSheet(
"font:600 28px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"padding-left:10px;"
"border: 1px solid #222222;"
"border-radius:4px"
)
return name_box
@staticmethod
def _init_class_title():
class_title = QLabel("<EFBFBD><EFBFBD><EFBFBD>")
class_title.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
class_title.setStyleSheet("font: 28px \"Microsoft YaHei UI\";letter-spacing: 4px;")
return class_title
@staticmethod
def _init_class_box():
class_box = QLabel("<<3C>༶>")
class_box.setContentsMargins(0, 0, 0, 0)
class_box.setStyleSheet(
"font:600 28px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"padding-left:10px;"
"border: 1px solid #222222;"
"border-radius:4px"
)
return class_box
@staticmethod
def _init_count_title():
class_title = QLabel("<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>")
class_title.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
class_title.setStyleSheet("font: 28px \"Microsoft YaHei UI\";letter-spacing: 4px;")
return class_title
@staticmethod
def _init_count_box():
class_box = QLabel("<<3C><>ʱ>")
class_box.setContentsMargins(0, 0, 0, 0)
class_box.setStyleSheet(
"font:600 28px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"padding-left:10px;"
"border: 1px solid #222222;"
"border-radius:4px"
)
return class_box
@staticmethod
def _init_stop_button():
stop_button = QPushButton("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
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