264 lines
8.2 KiB
Python
264 lines
8.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 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
|