Можно ли убрать анимацию в QPushButton?
Хотелось бы убрать анимацию нажатия кнопки в PyQT5, т.к. при нажатии не очень подходит к интерфейсу.
class Ui_MainWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowIcon(QIcon('data/images/icon_1.ico'))
self.centralwidget = QtWidgets.QWidget(self)
self.fon_1, self.folder_path = QtWidgets.QLabel(self.centralwidget), QtWidgets.QLabel(self.centralwidget)
self.by, self.history = QtWidgets.QLabel(self.centralwidget), QtWidgets.QLabel(self.centralwidget)
self.settings, self.about = QtWidgets.QPushButton(self.centralwidget), QtWidgets.QPushButton(self.centralwidget)
self.interfacePyQT()
def interfacePyQT(self):
self.setObjectName("Main_body")
self.resize(800, 450)
self.setFixedSize(800, 450)
self.centralwidget.setObjectName("centralwidget")
self.fon_1.setGeometry(QtCore.QRect(0, 0, 800, 450))
if (read_file('data/settings', 'theme') == 'White'):
self.fon_1.setPixmap(QtGui.QPixmap("data/images/main_1.jpg"))
else:
self.fon_1.setPixmap(QtGui.QPixmap("data/images/main_1_dark.jpg"))
self.fon_1.setObjectName("fon_1")
font = QtGui.QFont()
font.setFamily("data/font/AcromThin.ttf")
font.setPointSize(18)
self.folder_path.setGeometry(QtCore.QRect(125, 324, 241, 25))
self.folder_path.setFont(font)
self.folder_path.setStyleSheet("font-size: 17px; color: rgba(76, 195, 253, 0.7);")
if (len(list(read_file('data/settings', 'saves'))) >= 28):
text, text_copy = list(read_file('data/settings', 'saves')), []
for i in range(0, len(text), +1):
if (27 > i): text_copy.append(text[i])
elif (27 <= i < 30): text_copy.append('.')
text = ''
for element in text_copy:
text += element
self.folder_path.setText(text)
else: self.folder_path.setText(read_file('data/settings', 'saves'))
self.folder_path.setObjectName("folder_path")
self.by.setGeometry(QtCore.QRect(740, 382, 47, 61))
self.by.setFont(font)
self.by.setStyleSheet("font-size: 17px; color: rgba(76, 195, 253, 0.7);")
self.by.setText('me')
self.by.setObjectName("by")
self.history.setGeometry(QtCore.QRect(490, 80, 291, 291))
self.history.setStyleSheet('color: white; font-size: 12px')
self.history.setFont(font)
self.history.setText(str(history()))
self.history.setObjectName("history")
self.settings.setGeometry(QtCore.QRect(140, 120, 171, 31))
self.settings.setFlat(True)
self.settings.setObjectName("settings")
self.settings.clicked.connect(self.buttonSettings_onClick)
self.about.setGeometry(QtCore.QRect(150, 180, 161, 41))
self.about.clicked.connect(self.About)
self.about.setFlat(True)
self.about.setObjectName("about")
self.retranslateUi()
QtCore.QMetaObject.connectSlotsByName(self)
self.show()
def retranslateUi(self):
_translate = QtCore.QCoreApplication.translate
self.setWindowTitle(_translate("MainWindow", "Main_body"))
def keyPressEvent(self, e):
if (e.key() == Qt.Key_F): self.buttonTranslate_onClick()
elif (e.key() == Qt.Key_R): self.theme()
elif (e.key() == Qt.Key_Escape): self.close()
def theme(self):
if (read_file('data/settings', 'theme') == 'White'):
self.fon_1.setPixmap(QtGui.QPixmap("data/images/main_1_dark.jpg"))
read_file('data/settings', 'theme', 'Dark')
else:
self.fon_1.setPixmap(QtGui.QPixmap("data/images/main_1.jpg"))
read_file('data/settings', 'theme', 'White')
@pyqtSlot()
def buttonTranslate_onClick(self):
self.translate_screen = translate()
self.translate_screen.show()
self.close()
@pyqtSlot()
def buttonSettings_onClick(self):
self.settings_screen = settings_1() if (read_file('data/settings', 'settings_body') == '1') else settings_2()
self.settings_screen.show()
self.close()
@pyqtSlot()
def About(self):
self.input_screen = start_input()
self.input_screen.show()
self.close()
Я пытался найти способ убрать аниацию кнопки в интернете, но где-то говорят просто почитать документацию (в документации не понял как убрать), где-то ответ не работает.
Источник: Stack Overflow на русском