Как сделать так, чтобы при нажатии кнопку проигрывался звук?
Я написал банальный кликер с помощью Qt Designer и привязал функции к кнопкам.
Недавно захотел привязать к этим же кнопкам звук проигрывания.
Привязал, но при нажатии на кнопку программа сразу же завершается.
Я не понимаю в чём дело. Звук проигрывается с помощью библиотеки winsound
.
from PyQt5 import QtCore, QtGui, QtWidgets
import webbrowser
import sys
import winsound
cl = 0
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.setGeometry(800, 360, 250, 250)
MainWindow.setFixedSize(250, 250)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.author = QtWidgets.QPushButton(self.centralwidget)
self.author.setGeometry(QtCore.QRect(160, 0, 89, 23))
self.author.setMaximumSize(QtCore.QSize(91, 23))
self.author.setAutoFillBackground(False)
self.author.setStyleSheet("font: 8pt \"Algerian\";")
self.author.setAutoRepeat(False)
self.author.setAutoExclusive(False)
self.author.setFlat(True)
self.author.setObjectName("author")
self.clicks = QtWidgets.QLabel(self.centralwidget)
self.clicks.setGeometry(QtCore.QRect(40, 10, 191, 111))
font = QtGui.QFont()
font.setFamily("Biff")
font.setPointSize(20)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.clicks.setFont(font)
self.clicks.setStyleSheet("color: rgb(25, 170, 0);\n"
"font: 20pt \"Biff\";")
self.clicks.setObjectName("clicks")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(60, 100, 131, 111))
self.pushButton.setStyleSheet("background-color: rgb(255, 0, 0);")
self.pushButton.setObjectName("pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.add_func()
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Кликер 2.0"))
self.author.setText(_translate("MainWindow", "fanat skiLLa1"))
self.clicks.setText(_translate("MainWindow", "CLICKS: 0"))
def add_func(self):
self.author.clicked.connect(self.url)
self.pushButton.clicked.connect(self.clickess)
def url(self):
webbrowser.open('https://vk.com/idbat9cs16', new=2) # Открытие вкладки в браузере
def clickess(self):
winsound.PlaySound('Sounds/btn_sound.wav', False) # Проигрывание звука нажатия кнопки
global cl
cl += 1 # Счётчик кликов
self.clicks.setText(f'CLICKS: {cl}')
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Так же прикрепил ошибку, которая возникает при нажатии кнопки (точнее это не ошибка, но всё же может быть это поможет):
C:\python\python.exe "D:\python\clicker 2.0.py"
Process finished with exit code -1073740791 (0xC0000409)