Как при наведении на кнопку анимировано добавлять рамку в PyQt5?

Мне нужно, что бы при наведении курсора на кнопку у неё плавно появлялась белая рамка, как это сделать? Мой код:

#!/usr/bin/python3
import sys
from PyQt5 import QtWidgets, QtGui
from PyQt5.Qt import *
try:
    from PyQt5.QtWinExtras import QtWin
    myappid = 'mycompany.myproduct.subproduct.version'
    QtWin.setCurrentProcessExplicitAppUserModelID(myappid)
except ImportError:
    pass
class Button(QPushButton):
    mouseMoved = pyqtSignal()
    def mouseMoveEvent(self, event):
        self.mouseMoved.emit()

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        def Button(btn_name, text, color1, px, resize, resize_2, move, move_2, color):
            btn_name.setMouseTracking(True);
            btn_name.setText(text)
            btn_name.setStyleSheet(
                "background-color: " + color1 + "; color: " + color + "; border-radius: " + str(px) + "px;}QPushButton:pressed {background-image: url(image/img2.1.png) }")
            btn_name.setFont(QtGui.QFont("Times", 17, QtGui.QFont.Bold))
            btn_name.resize(resize, resize_2)
            btn_name.move(move, move_2)
            #btn_name.clicked.connect(mains)
        def Button_2(btn_name, text, px, resize, resize_2, move, move_2, color):
            btn_name.setMouseTracking(True);
            btn_name.setText(text)
            btn_name.setStyleSheet(
                "color: " + color + "; border-radius: " + str(px) + "px")
            btn_name.setFont(QtGui.QFont("Times", 17, QtGui.QFont.Bold))
            btn_name.resize(resize, resize_2)
            btn_name.move(move, move_2)
            #btn_name.clicked.connect(mains)
        def Button_3(btn_name, text, px, resize, resize_2, move, move_2, color, mains):
            btn_name.setMouseTracking(True);
            btn_name.setText(text)
            btn_name.setStyleSheet(
                "color: " + color + "; border-radius: " + str(px) + "px")
            btn_name.setFont(QtGui.QFont("Times", 17, QtGui.QFont.Bold))
            btn_name.resize(resize, resize_2)
            btn_name.move(move, move_2)
            btn_name.clicked.connect(mains)
        def Image(lbl_name, move_1, move_2, resize_1, resize_2):
            lbl_name.setPixmap(self.pix)
            lbl_name.move(move_1, move_2)
            lbl_name.resize(resize_1, resize_2)

        self.lbl2 = QtWidgets.QLabel(self)
        self.pix = QtGui.QPixmap("image.jpg")
        Image(self.lbl2, 0, 0, 1920, 1080)
        self.lbl1 = QtWidgets.QLabel(self)
        self.pix = QtGui.QPixmap("textbox.png")
        Image(self.lbl1, 0, 750, 1920, 300)
        self.btn1 = QPushButton(self)
        Button_2(self.btn1, "Вы появились в неизвестном вам месте,\nгде было невероятно красиво", 10, 1000, 100, 430, 810, "White")
        self.btn3 = QPushButton(self)
        Button_2(self.btn3, "", 10, 150, 100, -30, 500, "White")
        self.inv = QtWidgets.QLabel(self)
        self.pix = QtGui.QPixmap("inventory_btn.png")
        Image(self.inv, -30, 600, 156, 96)
        self.btn3 = QPushButton(self)
        Button_3(self.btn3, "", 5, 400, 400, -120, 500, "White", self.inventory)
        self.inv_open = QtWidgets.QLabel(self)
        self.pix = QtGui.QPixmap("inventory.png")
        Image(self.inv_open, 50, 0, 1770, 996)
        self.inv_open.close()
        self.btn4 = QPushButton(self)
        Button_3(self.btn4, "", 5, 50, 50, 1675, 90, "White", self.inventory_close)
        self.btn4.close()
    def inventory(self):
        self.btn3.close()
        self.btn1.close()
        self.lbl1.close()
        self.inv.close()
        self.inv_open.show()
        self.btn4.show()
    def inventory_close(self):
        self.btn3.show()
        self.btn1.show()
        self.lbl1.show()
        self.inv.show()
        self.inv_open.close()
        self.btn4.close()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    app.setWindowIcon(QtGui.QIcon('icon.png'))
    ex = MainWindow()
    ex.resize(1920, 1080)
    ex.setWindowTitle('Story Telling')
    ex.setWindowIcon(QIcon('icon.png'))
    ex.show()
    sys.exit(app.exec_())

Ответы (0 шт):