def color_animation(widget: QWidget, color=Qt.red): effect = QGraphicsColorizeEffect(widget) widget.setGraphicsEffect(effect) widget.animation = QPropertyAnimation(effect, b'color') widget.animation.setStartValue(QColor(color)) widget.animation.setEndValue(QColor(Qt.black)) widget.animation.setLoopCount(1) widget.animation.setDuration(1500) widget.animation.start()