LISHUZUOXUN_yangjiang/LSZXPagesLibrary/base_station_page_widget_de...

264 lines
8.2 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
from LSZXPagesLibrary.consensus import PICK_UP_TYPE_TABLE, PICK_UP_TYPE_LIST
from LSZXPagesLibrary.keyboard_layout import Keyboard
class BaseStationPageWidgetDefine(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.base_station_title = self._init_base_station_title_widget()
# 主机基站图片
self.master_img = self._init_master_img_widget()
# 主机基站数量标题
self.master_title = self._init_master_title_widget()
# 主机基站数量
self.master_num = self._init_master_num_widget()
# 主机区域
self.master_widget = self._init_master_widget()
# 从机基站图片
self.slaver_img = self._init_slaver_img_widget()
# 从机基站数量标题
self.slaver_title = self._init_slaver_title_widget()
# 从机基站数量
self.slaver_num = self._init_slaver_num_widget()
# 从机区域
self.slaver_widget = self._init_slaver_widget()
# 顶部区域,包括主从机区域和文字提示
self.top_widget = self._init_top_widget()
# 重新定位按钮
self.reset_button = self._init_reset_button_widget()
# 下一步按钮
self.next_page_button = self._init_next_page_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_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_base_station_title_widget():
base_station_title_label = QLabel("基站定位成功,请确认基站位置……")
base_station_title_label.setStyleSheet(
"font: 24px \"Microsoft YaHei UI\";"
"letter-spacing: 4px;"
"padding-left: 20px;"
"margin: 0px;"
"border: none;"
)
return base_station_title_label
@staticmethod
def _init_master_img_widget():
master_img = QLabel()
master_img.setStyleSheet(
"border-image: url(assets/master.png);"
"background-size: contain;"
"background-repeat: no-repeat;"
"background-position: center;"
"background-color: none;"
"border: none;"
)
return master_img
@staticmethod
def _init_master_title_widget():
master_title = QLabel("主机基站数量")
master_title.setAlignment(Qt.AlignBottom)
master_title.setStyleSheet(
"font: 24px \"Microsoft YaHei UI\";"
"color: #222222;"
"background-color: none;"
"border: none;"
)
return master_title
@staticmethod
def _init_master_num_widget():
master_num = QLabel("")
master_num.setAlignment(Qt.AlignTop)
master_num.setStyleSheet(
"font: 600 30px \"Microsoft YaHei UI\";"
"color: #222222;"
"background-color: none;"
"border: none;"
)
return master_num
@staticmethod
def _init_master_widget():
master_widget = QWidget()
master_widget.setStyleSheet(
"background-color: qlineargradient("
"spread:pad,"
"x1:0,"
"y1:0,"
"x2:1,"
"y2:0,"
"stop:0 rgba(255, 255, 255, 255),"
"stop:1 rgba(229, 230, 235, 255));"
"border-radius: 6px;"
"border: 1px solid #bbbbbb"
)
return master_widget
@staticmethod
def _init_slaver_img_widget():
slaver_img = QLabel()
slaver_img.setStyleSheet(
"border-image: url(assets/slave.png);"
"background-size: contain;"
"background-repeat: no-repeat;"
"background-position: center;"
"background-color: none;"
"border: none;"
)
return slaver_img
@staticmethod
def _init_slaver_title_widget():
slaver_title = QLabel("从机基站数量")
slaver_title.setAlignment(Qt.AlignBottom)
slaver_title.setStyleSheet(
"font: 24px \"Microsoft YaHei UI\";"
"color: #222222;"
"background-color: none;"
"border: none;"
)
return slaver_title
@staticmethod
def _init_slaver_num_widget():
slaver_num = QLabel("")
slaver_num.setAlignment(Qt.AlignTop)
slaver_num.setStyleSheet(
"font: 600 30px \"Microsoft YaHei UI\";"
"color: #222222;"
"background-color: none;"
"border: none;"
)
return slaver_num
@staticmethod
def _init_slaver_widget():
slaver_widget = QWidget()
slaver_widget.setStyleSheet(
"background-color: qlineargradient("
"spread:pad,"
"x1:0,"
"y1:0,"
"x2:1,"
"y2:0,"
"stop:0 rgba(255, 255, 255, 255),"
"stop:1 rgba(229, 230, 235, 255));"
"border-radius: 6px;"
"border: 1px solid #bbbbbb"
)
return slaver_widget
@staticmethod
def _init_top_widget():
top_widget = QWidget()
top_widget.setStyleSheet(
"border-radius: 6px;"
"border: 1px solid #bbbbbb"
)
return top_widget
@staticmethod
def _init_reset_button_widget():
reset_button = QPushButton("重新定位")
reset_button.setStyleSheet(
"font: 600 28px \"Microsoft YaHei UI\";"
"border: none;"
"color: #ffffff;"
"letter-spacing: 10px;"
"border-radius: 4px;"
"height: 80%;"
"background-color: #f56c6c;"
)
return reset_button
@staticmethod
def _init_next_page_button_widget():
next_page_button = QPushButton("下一步")
next_page_button.setStyleSheet(
"font: 600 28px \"Microsoft YaHei UI\";"
"border: none;"
"color:#ffffff;"
"letter-spacing: 10px;"
"border-radius: 4px;"
"height: 80%;"
"background-color: #e6a23c;"
)
return next_page_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