Как сделать псевдо анимацию кнопки в PyQt5?
QAbstractButton {
background-color:white;
qproperty-icon:url(":/Icons/delete_byte");
}
QAbstractButton:hover, QAbstractButton:focus {
background-color:grey;
qproperty-icon:url(":/Icons/deleted");
}
Есть какая-то кнопка, которая должна менять свою картинку, когда на нее наводятся.
Как это сделать? Сеё чудный Style Sheet не работает, работает только если qproperty
(во второй части) заменить на border
, и то не так как задумано. Оно становится задним фоном.
Возможно ли это реализовать так как я хочу?
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Всегда предоставляйте минимально-воспроизводимый пример, который демонстрирует проблему.
Вам надо лучше рассказывать и показывать что у вас задумано.
Я не уверен, что правильно понял вас, но попробуйте так:
import sys
from PyQt5.Qt import *
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.centralwidget = QWidget()
self.centralwidget.setObjectName("centralwidget")
self.setCentralWidget(self.centralwidget)
self.pushButton = QPushButton()
self.pushButton.setObjectName("pushButton")
self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.addWidget(self.pushButton)
QSS = '''
#pushButton {
background-color: red;
min-width: 210px;
min-height: 130px;
max-width: 210px;
max-height: 130px;
border-radius: 65px;
border: 2px solid #09009B;
qproperty-icon: none;
image: url("Ok.png");
}
#pushButton:hover {
background-color: blue;
image: url("boy33.png");
}
'''
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setStyleSheet(QSS)
w = MainWindow()
w.show()
sys.exit(app.exec())
Ok.png
boy33.png