@Anire1985

Как присвоить дополнительные параметры уже созданному объекту?

Я создал форму main.ui в дизайнере в которой уже есть кнопки
pushButton_1 pushButton_3 pushButton_5
и просто импортирую весь код в своё приложение main.py
Теперь мне нужно добавить к этим кнопкам дополнительные функции, а именно звук при наведении на кнопку.
Что-то вроде hover. Как это реализовать?

Все мои старания сводились к тому, что создавалась новая кнопка, а не добавлялись параметры к созданной в дизайнере.
from PyQt5.QtWidgets import QApplication, QPushButton
from PyQt5 import QtCore, QtWidgets, uic, QtGui
import pygame
from pygame import mixer

mixer.init() # звуковой движок

Form, Window = uic.loadUiType("HL_main_new.ui")
app = QApplication([])
window = Window()
form = Form()
form.setupUi(window)
window.setWindowFlags(QtCore.Qt.FramelessWindowHint)

class HoverButton(QPushButton):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
# это тот самый параметр которы я хочу добавить.
    def enterEvent(self, e):
        pygame.mixer.music.load('./res/musik/btn_hover.mp3')
        pygame.mixer.music.play(0)

    def leaveEvent(self, e):
        pass
form.pushButton_12 = HoverButton(window)
window.show()

Возможно есть какой то другой способ? У меня всё плохо с ООП. Только начинаю разбираться.
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@Anire1985 Автор вопроса
Нашёл ответ на stackoverflow по запросу
Выполнять действия при наведении курсора мыши на QPushButton PyQt5
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы