Mar-12-2022, 12:33 PM
Dear community,
I'm new to python and I'm trying to generate a GUI with Qt Designer and python.
In the Qt Designer I made a file "Musikauswahl.ui" - it contains labels and radiobuttons.
I want the player of a breakout game (to which I got a lot of help in this forum) to choose the music, which should be played during the game.
I made a GUI from Musikauswahl.ui.
I'm asking politely for help because I'm not experienced in making menus in python...
What I have to do to get the menu appearing?
(If radiobutton is checked, the track "Adeline Yeo (HP) - Kite Fly High.mp3" should be played (it is from https://freemusicarchive.org/)).
main:
I'm new to python and I'm trying to generate a GUI with Qt Designer and python.
In the Qt Designer I made a file "Musikauswahl.ui" - it contains labels and radiobuttons.
I want the player of a breakout game (to which I got a lot of help in this forum) to choose the music, which should be played during the game.
I made a GUI from Musikauswahl.ui.
I'm asking politely for help because I'm not experienced in making menus in python...
What I have to do to get the menu appearing?
(If radiobutton is checked, the track "Adeline Yeo (HP) - Kite Fly High.mp3" should be played (it is from https://freemusicarchive.org/)).
Traceback (most recent call last):
File "D:\Daten\testpyqt\main.py", line 22, in <module>
form = MyMenu()
File "D:\Daten\testpyqt\main.py", line 8, in __init__
super(self).__init__(parent)
TypeError: super() argument 1 must be type, not MyMenuhere is the code I got:main:
import sys
from PyQt5 import QtGui
import GUI, pygame
class MyMenu(QtGui.QGuiApplication, GUI.Ui_MyMenu):
def __init__(self, parent=None):
super(MyMenu, self).__init__(parent)
self.setupUi(self)
self.radioButton.clicked.connect(self.play())
def play(self):
radiobutton = self.sender()
if radiobutton.isChecked():
pygame.mixer.music.load("Adeline Yeo (HP) - Kite Fly High.mp3")
pygame.mixer.music.set_volume(0.7)
pygame.mixer.music.play(-1)
if __name__ == '__main__':
app = QtGui.QGuiApplication(sys.argv)
form = MyMenu()
form.show()
app.exec()GUI.pyfrom PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MyMenu(object):
def setupUi(self, MyMenu):
MyMenu.setObjectName("MyMenu")
MyMenu.resize(800, 469)
self.centralwidget = QtWidgets.QWidget(MyMenu)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(10, 20, 541, 31))
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.label.setFont(font)
self.label.setObjectName("label")
self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 70, 491, 244))
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setSpacing(1)
self.verticalLayout.setObjectName("verticalLayout")
self.radioButton = QtWidgets.QRadioButton(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.radioButton.setFont(font)
self.radioButton.setObjectName("radioButton")
self.verticalLayout.addWidget(self.radioButton)
self.radioButton_2 = QtWidgets.QRadioButton(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.radioButton_2.setFont(font)
self.radioButton_2.setObjectName("radioButton_2")
self.verticalLayout.addWidget(self.radioButton_2)
self.radioButton_3 = QtWidgets.QRadioButton(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.radioButton_3.setFont(font)
self.radioButton_3.setObjectName("radioButton_3")
self.verticalLayout.addWidget(self.radioButton_3)
self.radioButton_4 = QtWidgets.QRadioButton(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.radioButton_4.setFont(font)
self.radioButton_4.setObjectName("radioButton_4")
self.verticalLayout.addWidget(self.radioButton_4)
self.radioButton_5 = QtWidgets.QRadioButton(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.radioButton_5.setFont(font)
self.radioButton_5.setObjectName("radioButton_5")
self.verticalLayout.addWidget(self.radioButton_5)
self.radioButton_6 = QtWidgets.QRadioButton(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.radioButton_6.setFont(font)
self.radioButton_6.setObjectName("radioButton_6")
self.verticalLayout.addWidget(self.radioButton_6)
self.radioButton_7 = QtWidgets.QRadioButton(self.verticalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(16)
self.radioButton_7.setFont(font)
self.radioButton_7.setObjectName("radioButton_7")
self.verticalLayout.addWidget(self.radioButton_7)
self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.centralwidget)
self.verticalLayoutWidget_2.setGeometry(QtCore.QRect(10, 320, 471, 121))
self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setSpacing(1)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.verticalLayout_2.addWidget(self.label_2)
self.label_3 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(12)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.verticalLayout_2.addWidget(self.label_3)
self.label_4 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(12)
self.label_4.setFont(font)
self.label_4.setObjectName("label_4")
self.verticalLayout_2.addWidget(self.label_4)
self.label_5 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(12)
self.label_5.setFont(font)
self.label_5.setObjectName("label_5")
self.verticalLayout_2.addWidget(self.label_5)
self.label_6 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.label_6.setFont(font)
self.label_6.setObjectName("label_6")
self.verticalLayout_2.addWidget(self.label_6)
self.label_7 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
font = QtGui.QFont()
font.setFamily("Consolas")
font.setPointSize(12)
self.label_7.setFont(font)
self.label_7.setObjectName("label_7")
self.verticalLayout_2.addWidget(self.label_7)
MyMenu.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MyMenu)
self.statusbar.setObjectName("statusbar")
MyMenu.setStatusBar(self.statusbar)
self.retranslateUi(MyMenu)
QtCore.QMetaObject.connectSlotsByName(MyMenu)
def retranslateUi(self, MyMenu):
_translate = QtCore.QCoreApplication.translate
MyMenu.setWindowTitle(_translate("MyMenu", "MyMenu"))
self.label.setText(_translate("MyMenu", "Welche Musik soll während des Spiels laufen?"))
self.radioButton.setText(_translate("MyMenu", "Adeline Yeo (HP) - Kite Fly High"))
self.radioButton_2.setText(_translate("MyMenu", "Bio Unit - Lights"))
self.radioButton_3.setText(_translate("MyMenu", "cryptic scenery - Stazione Termini"))
self.radioButton_4.setText(_translate("MyMenu", "Human Force - Blackout"))
self.radioButton_5.setText(_translate("MyMenu", "Ketsa - Holding The Line"))
self.radioButton_6.setText(_translate("MyMenu", "Maarten Schellekens - Salt Lake Swerve"))
self.radioButton_7.setText(_translate("MyMenu", "Strobotone - Dance Track"))
self.label_2.setText(_translate("MyMenu", "Musik von:"))
self.label_3.setText(_translate("MyMenu", "Human Force"))
self.label_4.setText(_translate("MyMenu", "und"))
self.label_5.setText(_translate("MyMenu", "https://freemusicarchive.org/"))
self.label_6.setText(_translate("MyMenu", "Hintergrundbild von:"))
self.label_7.setText(_translate("MyMenu", "Joshgmit auf Pixabay"))
