def __init__(self, parent): super().__init__('', parent) self.windowEffect = WindowEffect() self.animation = QPropertyAnimation(self, b'geometry') # 创建动作 self.restartGameAct = QAction( Icon(':/images/chess_board_interface/重新开始.png'), self.tr('Restart'), self) self.settingAct = QAction( Icon(':/images/chess_board_interface/设置.png'), self.tr('Settings'), self) self.action_list = [self.restartGameAct, self.settingAct] self.addActions(self.action_list) self.__initWidget()
def __initWidget(self): """ 初始化界面 """ self.resize(320, 755) self.setAttribute(Qt.WA_TranslucentBackground) self.setWindowFlags(Qt.NoDropShadowWindowHint | Qt.Popup) self.windowEffect.setAcrylicEffect(self.winId(), "E9ECED99", False) self.boardButton.move(0, 50) self.settingButton.move(0, self.height() - 60) self.navigationButton.setFixedSize(50, 50) self.navigationButton.setIcon( Icon(':images/navigation_menu/显示导航菜单.png'))
def __initWidget(self): """ 初始化界面 """ self.resize(320, 755) self.title.move(60, 7) self.navigationMenu.move(self.mapToGlobal(QPoint(0, 0))) self.navigationButton.setFixedSize(50, 50) self.navigationButton.setIcon( Icon(':images/navigation_menu/显示导航菜单.png')) # 设置层叠样式 self.__setQss() # 信号连接到槽 self.__connectSignalToSlot()
def mouseReleaseEvent(self, e): if e.button() == Qt.RightButton: return self.setIcon(Icon(self.iconPaths['normal'])) super().mouseReleaseEvent(e)
def mousePressEvent(self, e): if e.button() == Qt.RightButton: return self.setIcon(Icon(self.iconPaths['pressed'])) super().mousePressEvent(e)
def leaveEvent(self, e): self.setIcon(Icon(self.iconPaths['normal']))
def enterEvent(self, e): self.setIcon(Icon(self.iconPaths['hover']))
def initWidget(self): """ 初始化小部件 """ self.setCursor(Qt.ArrowCursor) self.setIcon(Icon(self.iconPaths['normal'])) self.setIconSize(QSize(self.width(), self.height())) self.setStyleSheet('border: none; margin: 0px')