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.py
from 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"))