From bea31d8e9119ea7371616111f44a5c2adc7c1a38 Mon Sep 17 00:00:00 2001 From: Zzaphkiel Date: Sat, 15 Jun 2024 16:57:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=88=98=E7=BB=A9=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E7=95=8C=E9=9D=A2=E8=A2=AB=20ban=20=E8=8B=B1=E9=9B=84?= =?UTF-8?q?=E9=A3=9E=E5=87=BA=E7=BB=84=E4=BB=B6=E7=9A=84=E5=86=85=E5=AD=98?= =?UTF-8?q?=E6=B3=84=E6=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/view/search_interface.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/view/search_interface.py b/app/view/search_interface.py index 38d487e..6cdb9dd 100644 --- a/app/view/search_interface.py +++ b/app/view/search_interface.py @@ -423,13 +423,12 @@ def __init__(self, parent=None): self.isToolTipInit = False self.bansFlyOut = None + self.bansInfo = None self.__initWidget() self.__initLayout() cfg.themeChanged.connect(self.__updateIconColor) - self.bansButton.clicked.connect(lambda: Flyout.make( - self.bansFlyOut, self.bansButton, self, isDeleteOnClose=False)) def __initWidget(self): self.teamResultLabel.setObjectName("teamResult") @@ -455,6 +454,7 @@ def __initWidget(self): self.goldIconLabel.setVisible(False) self.dmgIconLabel.setObjectName("dmgIconLabel") + self.bansButton.clicked.connect(self.__onBansButtonClicked) def __initToolTip(self): self.towerIconLabel.setToolTip(self.tr("Tower destroyed")) @@ -606,9 +606,13 @@ def updateTeam(self, team, isCherry, result): if len(bans) != 0: self.bansButton.setVisible(True) - self.bansFlyOut = BansFlyoutView(bans) + self.bansInfo = bans + + if self.bansFlyOut: + self.bansFlyOut.close() else: self.bansButton.setVisible(False) + self.bansInfo = None self.csIconLabel.setVisible(True) self.goldIconLabel.setVisible(True) @@ -638,6 +642,10 @@ def __updateIconColor(self, theme: Theme): self.csIconLabel.setPixmap(QPixmap(f"app/resource/images/Minions_{color}.png").scaled( 16, 16, Qt.KeepAspectRatio, Qt.SmoothTransformation)) + def __onBansButtonClicked(self): + flyout = BansFlyoutView(self.bansInfo) + self.bansFlyOut = Flyout.make(flyout, self.bansButton, self) + class BansFlyoutView(FlyoutViewBase): def __init__(self, bans, parent=None):