Fix butto freezing

master
En Yi 2018-07-13 20:41:08 +08:00
parent e982d25f2b
commit 05d9cc97f8
1 changed files with 10 additions and 11 deletions

View File

@ -61,13 +61,13 @@ class animBox(QGraphicsObject):
self.anim.setKeyValueAt(t / 10, self.logistic_func(t / 10)) self.anim.setKeyValueAt(t / 10, self.logistic_func(t / 10))
self.anim.setEndValue(self.circumference) self.anim.setEndValue(self.circumference)
self.freeze = False
def set_freeze(self, freeze): def set_freeze(self, freeze):
self.freeze = freeze
self.setAcceptHoverEvents(~freeze)
if freeze: if freeze:
self.length = 0 self.setAcceptedMouseButtons(Qt.NoButton)
self.setAcceptHoverEvents(False)
else:
self.setAcceptedMouseButtons(Qt.NoButton)
self.setAcceptHoverEvents(True)
# Toggle the animation to be play forward or backward # Toggle the animation to be play forward or backward
def toggle_anim(self, toggling): def toggle_anim(self, toggling):
@ -138,21 +138,20 @@ class animBox(QGraphicsObject):
# Reimplemented hoverEvents to detect the mouse and toggle the animation # Reimplemented hoverEvents to detect the mouse and toggle the animation
def hoverEnterEvent(self, event): def hoverEnterEvent(self, event):
if ~self.detected and ~self.freeze: if ~self.detected:
print('lol')
self.hoverEnter.emit() self.hoverEnter.emit()
self.detected = True self.detected = True
self.toggle_anim(True) self.toggle_anim(True)
super().hoverEnterEvent(event) super().hoverEnterEvent(event)
def hoverLeaveEvent(self, event): def hoverLeaveEvent(self, event):
if self.detected and ~self.freeze: if self.detected:
self.hoverExit.emit() self.hoverExit.emit()
self.detected = False self.detected = False
self.toggle_anim(False) self.toggle_anim(False)
super().hoverLeaveEvent(event) super().hoverLeaveEvent(event)
def mousePressEvent(self, event): def mousePressEvent(self, event):
if ~self.freeze: #if ~self.freeze:
self.length = 0 self.length = 0
self.buttonClicked.emit(self.text) self.buttonClicked.emit(self.text)