99 lines
3.2 KiB
Python
99 lines
3.2 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.consensus import PICK_UP_TYPE_TABLE, PICK_UP_TYPE_LIST
|
||
from LSZXPagesLibrary.keyboard_layout import Keyboard
|
||
|
||
|
||
class PickUpPageWidgetDefine(BasedWidget):
|
||
|
||
def __init__(self):
|
||
super().__init__()
|
||
# 定义控件(按Ctrl+点击快速跳转编辑)
|
||
"""**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区**布局对象初始化区"""
|
||
# 空白控件
|
||
self.empty_box = self._init_empty_widget()
|
||
# 标题控件
|
||
self.title_label = self._init_title_widget()
|
||
# 回家按钮
|
||
self.back_home_button = self._init_back_button_widget()
|
||
# 一条直线
|
||
self.line_widget = self._init_line_widget()
|
||
# 创建键盘
|
||
self.keyboard = Keyboard()
|
||
self.keyboard_layout = self.keyboard.get_layout()
|
||
# 提示
|
||
self.tips_label = self._init_tips_label()
|
||
# 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_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_tips_label():
|
||
tips_text_label = QLabel("注意:蓝色边框表示未考人员,红色边框表示已考人员,蓝色背景表示当前参加考试人员。")
|
||
tips_text_label.setWordWrap(True)
|
||
tips_text_label.setStyleSheet(
|
||
"font: 20px \"Microsoft YaHei UI\";"
|
||
"letter-spacing: 4px;"
|
||
"padding:0 0 0 10"
|
||
)
|
||
return tips_text_label
|
||
|
||
@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
|