# 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