Mit Pyside6(-uic) GUI-Quelltext erstellt PyCharm zeigt Fehler

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Master_Shredder
User
Beiträge: 25
Registriert: Freitag 2. Februar 2024, 18:25

Hi, ich habe ein seltsames Problem.

ich Versuche gerade erstmals mit PySide6 eine GUI zu erstellen.
Dies hat so weit auch alles wunderbar funktioniert. Nur als ich nun den von PySide6-uic erstellten Quelltext in PyCharm eingefügt habe, bekomme ich 14 Warnings. Und es Passiert auch nichts.
Ich klicke auf RUN und alles läuft fehlerfrei durch, nur nichts passiert.

Hier der Quelltext:

Code: Alles auswählen

# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'hauptdialog.ui'
##
## Created by: Qt User Interface Compiler version 6.6.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QDialog, QGroupBox, QHBoxLayout,
    QLabel, QLineEdit, QPushButton, QSizePolicy,
    QSpacerItem, QVBoxLayout, QWidget)

class Ui_Hauptdialog(object):
    def setupUi(self, Hauptdialog):
        if not Hauptdialog.objectName():
            Hauptdialog.setObjectName(u"Hauptdialog")
        Hauptdialog.resize(400, 600)
        self.verticalLayout_3 = QVBoxLayout(Hauptdialog)
        self.verticalLayout_3.setObjectName(u"verticalLayout_3")
        self.verticalLayout = QVBoxLayout()
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.groupBox = QGroupBox(Hauptdialog)
        self.groupBox.setObjectName(u"groupBox")
        self.verticalLayout_2 = QVBoxLayout(self.groupBox)
        self.verticalLayout_2.setObjectName(u"verticalLayout_2")
        self.horizontalLayout_2 = QHBoxLayout()
        self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
        self.label = QLabel(self.groupBox)
        self.label.setObjectName(u"label")

        self.horizontalLayout_2.addWidget(self.label)

        self.vorname = QLineEdit(self.groupBox)
        self.vorname.setObjectName(u"vorname")

        self.horizontalLayout_2.addWidget(self.vorname)


        self.verticalLayout_2.addLayout(self.horizontalLayout_2)

        self.horizontalLayout_3 = QHBoxLayout()
        self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
        self.label_2 = QLabel(self.groupBox)
        self.label_2.setObjectName(u"label_2")

        self.horizontalLayout_3.addWidget(self.label_2)

        self.nachname = QLineEdit(self.groupBox)
        self.nachname.setObjectName(u"nachname")

        self.horizontalLayout_3.addWidget(self.nachname)


        self.verticalLayout_2.addLayout(self.horizontalLayout_3)


        self.verticalLayout.addWidget(self.groupBox)

        self.groupBox_2 = QGroupBox(Hauptdialog)
        self.groupBox_2.setObjectName(u"groupBox_2")

        self.verticalLayout.addWidget(self.groupBox_2)

        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName(u"horizontalLayout")
        self.horizontalSpacer = QSpacerItem(198, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)

        self.horizontalLayout.addItem(self.horizontalSpacer)

        self.buttonOK = QPushButton(Hauptdialog)
        self.buttonOK.setObjectName(u"buttonOK")

        self.horizontalLayout.addWidget(self.buttonOK)

        self.buttonAbbrechen = QPushButton(Hauptdialog)
        self.buttonAbbrechen.setObjectName(u"buttonAbbrechen")

        self.horizontalLayout.addWidget(self.buttonAbbrechen)


        self.verticalLayout.addLayout(self.horizontalLayout)


        self.verticalLayout_3.addLayout(self.verticalLayout)


        self.retranslateUi(Hauptdialog)

        self.buttonOK.setDefault(True)


        QMetaObject.connectSlotsByName(Hauptdialog)
    # setupUi

    def retranslateUi(self, Hauptdialog):
        Hauptdialog.setWindowTitle(QCoreApplication.translate("Hauptdialog", u"Dialog", None))
        self.groupBox.setTitle(QCoreApplication.translate("Hauptdialog", u"Pers\u00f6nliche Daten", None))
        self.label.setText(QCoreApplication.translate("Hauptdialog", u"Vorname", None))
        self.label_2.setText(QCoreApplication.translate("Hauptdialog", u"Nachname", None))
        self.groupBox_2.setTitle(QCoreApplication.translate("Hauptdialog", u"Weitere Angaben", None))
        self.buttonOK.setText(QCoreApplication.translate("Hauptdialog", u"OK", None))
        self.buttonAbbrechen.setText(QCoreApplication.translate("Hauptdialog", u"Abbrechen", None))
    # retranslateUi

Hier die Main Klasse:

Code: Alles auswählen

import sys
from PySide6 import QtWidgets
from hauptdialog import Ui_Hauptdialog


class MeinDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.ui = Ui_Hauptdialog()
        self.ui.setupUi(self)

        if __name__ == "__main__":
            app = QtWidgets.QApplication(sys.argv)
            dialog = MeinDialog()
            dialog.show()
            sys.exit(app.exec())
Was könnte das Problem sein?

Ich denke mal der erstellte Quelltext kann ja eigentlich nicht fehlerhaft sein. könnte es an einer Einstellung von PyCharm liegen?

Grüße Master_Shredder
Benutzeravatar
__blackjack__
User
Beiträge: 13457
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Master_Shredder: Warum denkst Du denn das da irgendwas passieren sollte? Das Hauptprogramm definiert eine Klasse und das wars. Und in der `__init__()` von der Klasse steht Code der da nicht hingehört. Wenn man den an die richtige Stelle verschiebt, *dann* passiert auch was.

Das was im ``if __name__ == …``-Zweig steht, sollte auch in eine Funktion wandern. Die wird üblicherweise `main()` genannt.

Die ``hauptdialog.py`` sollte man eher nicht generieren, sondern die `*.ui`-Datei zur Laufzeit laden.

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
Master_Shredder
User
Beiträge: 25
Registriert: Freitag 2. Februar 2024, 18:25

Hi @__blackjack__,
Das Hauptprogramm definiert eine Klasse und das wars.
Ja, da hast du recht. Ich habe eine Klasse definiert und das wars. Ich habe versehentlich den Main-Bereich falsch eingerückt.

Ich arbeite gerade ein Tutorial für PySiede6 durch. Dort war der Konstruktor Block und der Main-Bereich Block getrennt abgebildet und es war mir direkt nicht ersichtlich wie die Anordnung ist.

Habe es geändert und schon hat es funktioniert.

Code: Alles auswählen

import sys
from PySide6 import QtWidgets
from hauptdialog import Ui_Hauptdialog


class MeinDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.ui = Ui_Hauptdialog()
        self.ui.setupUi(self)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    dialog = MeinDialog()
    dialog.show()
    sys.exit(app.exec())
Danke für die Hilfe
aproxxo
User
Beiträge: 13
Registriert: Donnerstag 19. November 2020, 15:52

Guten Tag,
da ich ein ähnliches Problem habe, wollte ich kein neues Thema dafür öffnen.
Ich hoffe das ist in Ordnung.

Ich habe ebenfalls mit QT ein Ui erstellt und wollte nun mit PyCharm in Python weiterarbeiten. Leider bekomme ich einige Fehlermeldungen, obwohl ich meiner Meinung nach Pyside6 und Qt installier habe.
Ich hoffe ihr könnt mir helfen. Da ich leider mit meinem Wissen am Ende bin.
Danke.

Das sind die Fehler, die mir ausgeben werden. Ich bin noch neu im Python Bereich.
  • ui_interface.py


    Moderate
    Instance attribute horizontalLayout_5 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute sizeGrip defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute page_6 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute frame_7 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute label_14 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute label_13 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute horizontalLayout_10 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute verticalLayout_6 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute horizontalLayout defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute label_15 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute horizontalLayout_12 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute label_10 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute verticalLayout_17 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute headerContainer defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute einstellungenButton defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute label_8 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute widget defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute menuButton defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute label_2 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute verticalLayout_16 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute leftMenuContainer defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute verticalLayout_3 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute centerMenuContainer defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute pushButton_4 defined outside init
    Python
    An instance attribute is defined outside `__init__`


    Moderate
    Instance attribute label_9 defined outside init
    Python
    An instance attribute is defined outside `__init__`

Code: Alles auswählen

# Form implementation generated from reading ui file 'interface.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt6 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.setEnabled(False)
        MainWindow.resize(800, 470)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        MainWindow.setAutoFillBackground(False)
        MainWindow.setStyleSheet("*{\n"
"    border: none;\n"
"    background-color: transparent;\n"
"    background: transparent;\n"
"    padding: 0;\n"
"    margin: 0;\n"
"    color: #fff;\n"
" }\n"
"#centralwidget{\n"
"    background-color: #1f232a;\n"
"}\n"
"#leftMenuSub Container{\n"
"    background-color: #16191d;\n"
"} \n"
"#leftMenuSub Container QPushButton{\n"
"    text-align: left; \n"
"    padding: 5px 10px;\n"
"    border-top-left-radius: 10px;\n"
"    border-bottom-left-radius: 10px;\n"
"}\n"
"#centerSubMenuContainer, #rightMenuSubContainer{\n"
"    background-color: #2c313c;\n"
"}\n"
"#frame_4, #frame_5, #popupSubContainer{\n"
"    background-color: #16191d;\n"
"    border-radius: 10px;\n"
"}\n"
"#headerContainer, #footerContainer{\n"
"    background-color: #2c313c;\n"
"}")
        self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
        self.centralwidget.setSizePolicy(sizePolicy)
        self.centralwidget.setAutoFillBackground(False)
        self.centralwidget.setObjectName("centralwidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.leftMenuContainer = QtWidgets.QWidget(parent=self.centralwidget)
        self.leftMenuContainer.setAutoFillBackground(False)
        self.leftMenuContainer.setObjectName("leftMenuContainer")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.leftMenuContainer)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.leftMenuSubContainer = QtWidgets.QWidget(parent=self.leftMenuContainer)
        self.leftMenuSubContainer.setAutoFillBackground(True)
        self.leftMenuSubContainer.setObjectName("leftMenuSubContainer")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.leftMenuSubContainer)
        self.verticalLayout_2.setContentsMargins(5, 5, 5, 5)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.frame = QtWidgets.QFrame(parent=self.leftMenuSubContainer)
        self.frame.setAutoFillBackground(False)
        self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame.setObjectName("frame")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.frame)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setSpacing(0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.menuButton = QtWidgets.QPushButton(parent=self.frame)
        self.menuButton.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/align-justify.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.menuButton.setIcon(icon)
        self.menuButton.setIconSize(QtCore.QSize(24, 24))
        self.menuButton.setObjectName("menuButton")
        self.horizontalLayout_2.addWidget(self.menuButton)
        self.verticalLayout_2.addWidget(self.frame, 0, QtCore.Qt.AlignmentFlag.AlignTop)
        self.frame_2 = QtWidgets.QFrame(parent=self.leftMenuSubContainer)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth())
        self.frame_2.setSizePolicy(sizePolicy)
        self.frame_2.setAutoFillBackground(False)
        self.frame_2.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_2.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_2.setObjectName("frame_2")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frame_2)
        self.verticalLayout_3.setContentsMargins(0, 10, 0, 10)
        self.verticalLayout_3.setSpacing(0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.homeButton = QtWidgets.QPushButton(parent=self.frame_2)
        self.homeButton.setStyleSheet(" background-colors: #1f232a;")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/home.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.homeButton.setIcon(icon1)
        self.homeButton.setIconSize(QtCore.QSize(24, 24))
        self.homeButton.setObjectName("homeButton")
        self.verticalLayout_3.addWidget(self.homeButton)
        self.dataButton = QtWidgets.QPushButton(parent=self.frame_2)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/list.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.dataButton.setIcon(icon2)
        self.dataButton.setIconSize(QtCore.QSize(24, 24))
        self.dataButton.setObjectName("dataButton")
        self.verticalLayout_3.addWidget(self.dataButton)
        self.reportsButton = QtWidgets.QPushButton(parent=self.frame_2)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/printer.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.reportsButton.setIcon(icon3)
        self.reportsButton.setIconSize(QtCore.QSize(24, 24))
        self.reportsButton.setObjectName("reportsButton")
        self.verticalLayout_3.addWidget(self.reportsButton)
        self.verticalLayout_2.addWidget(self.frame_2, 0, QtCore.Qt.AlignmentFlag.AlignTop)
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
        self.verticalLayout_2.addItem(spacerItem)
        self.frame_3 = QtWidgets.QFrame(parent=self.leftMenuSubContainer)
        self.frame_3.setAutoFillBackground(False)
        self.frame_3.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_3.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_3.setObjectName("frame_3")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame_3)
        self.verticalLayout_4.setContentsMargins(0, 10, 0, 10)
        self.verticalLayout_4.setSpacing(0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.einstellungenButton = QtWidgets.QPushButton(parent=self.frame_3)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/settings.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.einstellungenButton.setIcon(icon4)
        self.einstellungenButton.setIconSize(QtCore.QSize(24, 24))
        self.einstellungenButton.setObjectName("einstellungenButton")
        self.verticalLayout_4.addWidget(self.einstellungenButton)
        self.infoButton = QtWidgets.QPushButton(parent=self.frame_3)
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/info.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.infoButton.setIcon(icon5)
        self.infoButton.setIconSize(QtCore.QSize(24, 24))
        self.infoButton.setObjectName("infoButton")
        self.verticalLayout_4.addWidget(self.infoButton)
        self.hilfeButton = QtWidgets.QPushButton(parent=self.frame_3)
        icon6 = QtGui.QIcon()
        icon6.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/help-circle.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.hilfeButton.setIcon(icon6)
        self.hilfeButton.setIconSize(QtCore.QSize(24, 24))
        self.hilfeButton.setObjectName("hilfeButton")
        self.verticalLayout_4.addWidget(self.hilfeButton)
        self.verticalLayout_2.addWidget(self.frame_3, 0, QtCore.Qt.AlignmentFlag.AlignBottom)
        self.verticalLayout.addWidget(self.leftMenuSubContainer, 0, QtCore.Qt.AlignmentFlag.AlignLeft)
        self.horizontalLayout.addWidget(self.leftMenuContainer, 0, QtCore.Qt.AlignmentFlag.AlignLeft)
        self.centerMenuContainer = QtWidgets.QWidget(parent=self.centralwidget)
        self.centerMenuContainer.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.centerMenuContainer.sizePolicy().hasHeightForWidth())
        self.centerMenuContainer.setSizePolicy(sizePolicy)
        self.centerMenuContainer.setAutoFillBackground(False)
        self.centerMenuContainer.setObjectName("centerMenuContainer")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.centerMenuContainer)
        self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_5.setSpacing(0)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.centerSubMenuContainer = QtWidgets.QWidget(parent=self.centerMenuContainer)
        self.centerSubMenuContainer.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setPointSize(13)
        self.centerSubMenuContainer.setFont(font)
        self.centerSubMenuContainer.setObjectName("centerSubMenuContainer")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.centerSubMenuContainer)
        self.verticalLayout_6.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_6.setSpacing(0)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.frame_4 = QtWidgets.QFrame(parent=self.centerSubMenuContainer)
        self.frame_4.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_4.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_4.setObjectName("frame_4")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.frame_4)
        self.horizontalLayout_3.setContentsMargins(12, 12, -1, -1)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label = QtWidgets.QLabel(parent=self.frame_4)
        self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label.setObjectName("label")
        self.horizontalLayout_3.addWidget(self.label, 0, QtCore.Qt.AlignmentFlag.AlignLeft)
        self.pushButton = QtWidgets.QPushButton(parent=self.frame_4)
        self.pushButton.setText("")
        icon7 = QtGui.QIcon()
        icon7.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/x-circle.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.pushButton.setIcon(icon7)
        self.pushButton.setIconSize(QtCore.QSize(24, 24))
        self.pushButton.setObjectName("pushButton")
        self.horizontalLayout_3.addWidget(self.pushButton, 0, QtCore.Qt.AlignmentFlag.AlignRight)
        self.verticalLayout_6.addWidget(self.frame_4, 0, QtCore.Qt.AlignmentFlag.AlignTop)
        self.stackedWidget = QtWidgets.QStackedWidget(parent=self.centerSubMenuContainer)
        self.stackedWidget.setMinimumSize(QtCore.QSize(0, 0))
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_5 = QtWidgets.QWidget()
        self.page_5.setObjectName("page_5")
        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.page_5)
        self.verticalLayout_7.setObjectName("verticalLayout_7")
        self.label_2 = QtWidgets.QLabel(parent=self.page_5)
        self.label_2.setAutoFillBackground(False)
        self.label_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.verticalLayout_7.addWidget(self.label_2)
        self.stackedWidget.addWidget(self.page_5)
        self.page_6 = QtWidgets.QWidget()
        self.page_6.setObjectName("page_6")
        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.page_6)
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.label_3 = QtWidgets.QLabel(parent=self.page_6)
        self.label_3.setAutoFillBackground(False)
        self.label_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_3.setObjectName("label_3")
        self.verticalLayout_8.addWidget(self.label_3)
        self.stackedWidget.addWidget(self.page_6)
        self.page_7 = QtWidgets.QWidget()
        self.page_7.setObjectName("page_7")
        self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.page_7)
        self.verticalLayout_9.setObjectName("verticalLayout_9")
        self.label_4 = QtWidgets.QLabel(parent=self.page_7)
        self.label_4.setAutoFillBackground(False)
        self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_4.setObjectName("label_4")
        self.verticalLayout_9.addWidget(self.label_4)
        self.stackedWidget.addWidget(self.page_7)
        self.verticalLayout_6.addWidget(self.stackedWidget)
        self.verticalLayout_5.addWidget(self.centerSubMenuContainer, 0, QtCore.Qt.AlignmentFlag.AlignLeft)
        self.horizontalLayout.addWidget(self.centerMenuContainer, 0, QtCore.Qt.AlignmentFlag.AlignLeft)
        self.mainBodyContainer = QtWidgets.QWidget(parent=self.centralwidget)
        self.mainBodyContainer.setEnabled(False)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.mainBodyContainer.sizePolicy().hasHeightForWidth())
        self.mainBodyContainer.setSizePolicy(sizePolicy)
        self.mainBodyContainer.setStyleSheet("")
        self.mainBodyContainer.setObjectName("mainBodyContainer")
        self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.mainBodyContainer)
        self.verticalLayout_10.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_10.setSpacing(0)
        self.verticalLayout_10.setObjectName("verticalLayout_10")
        self.headerContainer = QtWidgets.QWidget(parent=self.mainBodyContainer)
        self.headerContainer.setObjectName("headerContainer")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.headerContainer)
        self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_5.setSpacing(0)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.widget = QtWidgets.QWidget(parent=self.headerContainer)
        self.widget.setObjectName("widget")
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.widget)
        self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_7.setSpacing(0)
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.label_6 = QtWidgets.QLabel(parent=self.widget)
        font = QtGui.QFont()
        font.setPointSize(13)
        font.setBold(True)
        self.label_6.setFont(font)
        self.label_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_6.setObjectName("label_6")
        self.horizontalLayout_7.addWidget(self.label_6)
        self.label_5 = QtWidgets.QLabel(parent=self.widget)
        self.label_5.setMaximumSize(QtCore.QSize(40, 40))
        self.label_5.setText("")
        self.label_5.setPixmap(QtGui.QPixmap(":/image/logo_coffee.png"))
        self.label_5.setScaledContents(True)
        self.label_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_5.setObjectName("label_5")
        self.horizontalLayout_7.addWidget(self.label_5)
        self.horizontalLayout_5.addWidget(self.widget)
        self.frame_6 = QtWidgets.QFrame(parent=self.headerContainer)
        self.frame_6.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_6.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_6.setObjectName("frame_6")
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.frame_6)
        self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_6.setSpacing(0)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.pushButton_6 = QtWidgets.QPushButton(parent=self.frame_6)
        self.pushButton_6.setText("")
        icon8 = QtGui.QIcon()
        icon8.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/more-horizontal.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.pushButton_6.setIcon(icon8)
        self.pushButton_6.setIconSize(QtCore.QSize(24, 24))
        self.pushButton_6.setObjectName("pushButton_6")
        self.horizontalLayout_6.addWidget(self.pushButton_6)
        self.pushButton_5 = QtWidgets.QPushButton(parent=self.frame_6)
        self.pushButton_5.setText("")
        icon9 = QtGui.QIcon()
        icon9.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/user.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.pushButton_5.setIcon(icon9)
        self.pushButton_5.setIconSize(QtCore.QSize(24, 24))
        self.pushButton_5.setObjectName("pushButton_5")
        self.horizontalLayout_6.addWidget(self.pushButton_5)
        self.horizontalLayout_5.addWidget(self.frame_6, 0, QtCore.Qt.AlignmentFlag.AlignHCenter)
        self.frame_7 = QtWidgets.QFrame(parent=self.headerContainer)
        self.frame_7.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_7.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_7.setObjectName("frame_7")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.frame_7)
        self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_4.setSpacing(0)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.pushButton_4 = QtWidgets.QPushButton(parent=self.frame_7)
        self.pushButton_4.setText("")
        icon10 = QtGui.QIcon()
        icon10.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/minus.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.pushButton_4.setIcon(icon10)
        self.pushButton_4.setObjectName("pushButton_4")
        self.horizontalLayout_4.addWidget(self.pushButton_4)
        self.pushButton_3 = QtWidgets.QPushButton(parent=self.frame_7)
        self.pushButton_3.setText("")
        icon11 = QtGui.QIcon()
        icon11.addPixmap(QtGui.QPixmap(":/icons_ws/icons_ws/square.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
        self.pushButton_3.setIcon(icon11)
        self.pushButton_3.setObjectName("pushButton_3")
        self.horizontalLayout_4.addWidget(self.pushButton_3)
        self.pushButton_2 = QtWidgets.QPushButton(parent=self.frame_7)
        self.pushButton_2.setText("")
        self.pushButton_2.setIcon(icon7)
        self.pushButton_2.setObjectName("pushButton_2")
        self.horizontalLayout_4.addWidget(self.pushButton_2)
        self.horizontalLayout_5.addWidget(self.frame_7, 0, QtCore.Qt.AlignmentFlag.AlignRight)
        self.verticalLayout_10.addWidget(self.headerContainer, 0, QtCore.Qt.AlignmentFlag.AlignTop)
        self.mainBodyContant = QtWidgets.QWidget(parent=self.mainBodyContainer)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.mainBodyContant.sizePolicy().hasHeightForWidth())
        self.mainBodyContant.setSizePolicy(sizePolicy)
        self.mainBodyContant.setObjectName("mainBodyContant")
        self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.mainBodyContant)
        self.horizontalLayout_8.setContentsMargins(5, 5, 5, 5)
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        self.mainContentContainer = QtWidgets.QWidget(parent=self.mainBodyContant)
        self.mainContentContainer.setAutoFillBackground(False)
        self.mainContentContainer.setObjectName("mainContentContainer")
        self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.mainContentContainer)
        self.verticalLayout_15.setObjectName("verticalLayout_15")
        self.stackedWidget_3 = QtWidgets.QStackedWidget(parent=self.mainContentContainer)
        self.stackedWidget_3.setObjectName("stackedWidget_3")
        self.page_12 = QtWidgets.QWidget()
        self.page_12.setObjectName("page_12")
        self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.page_12)
        self.verticalLayout_16.setObjectName("verticalLayout_16")
        self.label_10 = QtWidgets.QLabel(parent=self.page_12)
        self.label_10.setAutoFillBackground(False)
        self.label_10.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_10.setObjectName("label_10")
        self.verticalLayout_16.addWidget(self.label_10)
        self.stackedWidget_3.addWidget(self.page_12)
        self.page_13 = QtWidgets.QWidget()
        self.page_13.setObjectName("page_13")
        self.verticalLayout_17 = QtWidgets.QVBoxLayout(self.page_13)
        self.verticalLayout_17.setObjectName("verticalLayout_17")
        self.label_11 = QtWidgets.QLabel(parent=self.page_13)
        self.label_11.setAutoFillBackground(False)
        self.label_11.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_11.setObjectName("label_11")
        self.verticalLayout_17.addWidget(self.label_11)
        self.stackedWidget_3.addWidget(self.page_13)
        self.page_14 = QtWidgets.QWidget()
        self.page_14.setObjectName("page_14")
        self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.page_14)
        self.verticalLayout_18.setObjectName("verticalLayout_18")
        self.label_12 = QtWidgets.QLabel(parent=self.page_14)
        self.label_12.setAutoFillBackground(False)
        self.label_12.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_12.setObjectName("label_12")
        self.verticalLayout_18.addWidget(self.label_12)
        self.stackedWidget_3.addWidget(self.page_14)
        self.verticalLayout_15.addWidget(self.stackedWidget_3)
        self.horizontalLayout_8.addWidget(self.mainContentContainer)
        self.rightMenuContainer = QtWidgets.QWidget(parent=self.mainBodyContant)
        self.rightMenuContainer.setMinimumSize(QtCore.QSize(200, 0))
        self.rightMenuContainer.setObjectName("rightMenuContainer")
        self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.rightMenuContainer)
        self.verticalLayout_11.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_11.setSpacing(0)
        self.verticalLayout_11.setObjectName("verticalLayout_11")
        self.rightMenuSubContainer = QtWidgets.QWidget(parent=self.rightMenuContainer)
        self.rightMenuSubContainer.setMinimumSize(QtCore.QSize(200, 0))
        self.rightMenuSubContainer.setAutoFillBackground(False)
        self.rightMenuSubContainer.setObjectName("rightMenuSubContainer")
        self.verticalLayout_12 = QtWidgets.QVBoxLayout(self.rightMenuSubContainer)
        self.verticalLayout_12.setContentsMargins(5, 5, 5, 5)
        self.verticalLayout_12.setSpacing(0)
        self.verticalLayout_12.setObjectName("verticalLayout_12")
        self.frame_5 = QtWidgets.QFrame(parent=self.rightMenuSubContainer)
        self.frame_5.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_5.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_5.setObjectName("frame_5")
        self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.frame_5)
        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
        self.label_7 = QtWidgets.QLabel(parent=self.frame_5)
        self.label_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_7.setObjectName("label_7")
        self.horizontalLayout_9.addWidget(self.label_7)
        self.pushButton_7 = QtWidgets.QPushButton(parent=self.frame_5)
        self.pushButton_7.setText("")
        self.pushButton_7.setIcon(icon7)
        self.pushButton_7.setIconSize(QtCore.QSize(24, 24))
        self.pushButton_7.setObjectName("pushButton_7")
        self.horizontalLayout_9.addWidget(self.pushButton_7, 0, QtCore.Qt.AlignmentFlag.AlignRight)
        self.verticalLayout_12.addWidget(self.frame_5)
        self.stackedWidget_2 = QtWidgets.QStackedWidget(parent=self.rightMenuSubContainer)
        self.stackedWidget_2.setAutoFillBackground(False)
        self.stackedWidget_2.setObjectName("stackedWidget_2")
        self.page_10 = QtWidgets.QWidget()
        self.page_10.setObjectName("page_10")
        self.verticalLayout_13 = QtWidgets.QVBoxLayout(self.page_10)
        self.verticalLayout_13.setObjectName("verticalLayout_13")
        self.label_8 = QtWidgets.QLabel(parent=self.page_10)
        self.label_8.setAutoFillBackground(False)
        self.label_8.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_8.setObjectName("label_8")
        self.verticalLayout_13.addWidget(self.label_8)
        self.stackedWidget_2.addWidget(self.page_10)
        self.page_11 = QtWidgets.QWidget()
        self.page_11.setObjectName("page_11")
        self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.page_11)
        self.verticalLayout_14.setObjectName("verticalLayout_14")
        self.label_9 = QtWidgets.QLabel(parent=self.page_11)
        self.label_9.setAutoFillBackground(False)
        self.label_9.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_9.setObjectName("label_9")
        self.verticalLayout_14.addWidget(self.label_9)
        self.stackedWidget_2.addWidget(self.page_11)
        self.verticalLayout_12.addWidget(self.stackedWidget_2)
        self.verticalLayout_11.addWidget(self.rightMenuSubContainer)
        self.horizontalLayout_8.addWidget(self.rightMenuContainer, 0, QtCore.Qt.AlignmentFlag.AlignRight)
        self.verticalLayout_10.addWidget(self.mainBodyContant)
        self.popupContainer = QtWidgets.QWidget(parent=self.mainBodyContainer)
        self.popupContainer.setObjectName("popupContainer")
        self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.popupContainer)
        self.verticalLayout_19.setObjectName("verticalLayout_19")
        self.popupSubContainer = QtWidgets.QWidget(parent=self.popupContainer)
        self.popupSubContainer.setObjectName("popupSubContainer")
        self.verticalLayout_20 = QtWidgets.QVBoxLayout(self.popupSubContainer)
        self.verticalLayout_20.setContentsMargins(5, 5, 5, 5)
        self.verticalLayout_20.setSpacing(0)
        self.verticalLayout_20.setObjectName("verticalLayout_20")
        self.label_14 = QtWidgets.QLabel(parent=self.popupSubContainer)
        self.label_14.setObjectName("label_14")
        self.verticalLayout_20.addWidget(self.label_14)
        self.frame_8 = QtWidgets.QFrame(parent=self.popupSubContainer)
        self.frame_8.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_8.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_8.setObjectName("frame_8")
        self.horizontalLayout_10 = QtWidgets.QHBoxLayout(self.frame_8)
        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
        self.label_13 = QtWidgets.QLabel(parent=self.frame_8)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
        self.label_13.setSizePolicy(sizePolicy)
        self.label_13.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
        self.label_13.setObjectName("label_13")
        self.horizontalLayout_10.addWidget(self.label_13)
        self.pushButton_8 = QtWidgets.QPushButton(parent=self.frame_8)
        self.pushButton_8.setText("")
        self.pushButton_8.setIcon(icon7)
        self.pushButton_8.setIconSize(QtCore.QSize(24, 24))
        self.pushButton_8.setObjectName("pushButton_8")
        self.horizontalLayout_10.addWidget(self.pushButton_8, 0, QtCore.Qt.AlignmentFlag.AlignRight)
        self.verticalLayout_20.addWidget(self.frame_8)
        self.verticalLayout_19.addWidget(self.popupSubContainer)
        self.verticalLayout_10.addWidget(self.popupContainer)
        self.footerContainer = QtWidgets.QWidget(parent=self.mainBodyContainer)
        self.footerContainer.setObjectName("footerContainer")
        self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.footerContainer)
        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
        self.frame_9 = QtWidgets.QFrame(parent=self.footerContainer)
        self.frame_9.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.frame_9.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.frame_9.setObjectName("frame_9")
        self.horizontalLayout_12 = QtWidgets.QHBoxLayout(self.frame_9)
        self.horizontalLayout_12.setContentsMargins(5, 5, 5, 5)
        self.horizontalLayout_12.setSpacing(0)
        self.horizontalLayout_12.setObjectName("horizontalLayout_12")
        self.label_15 = QtWidgets.QLabel(parent=self.frame_9)
        self.label_15.setObjectName("label_15")
        self.horizontalLayout_12.addWidget(self.label_15)
        self.horizontalLayout_11.addWidget(self.frame_9)
        self.sizeGrip = QtWidgets.QFrame(parent=self.footerContainer)
        self.sizeGrip.setMinimumSize(QtCore.QSize(10, 10))
        self.sizeGrip.setMaximumSize(QtCore.QSize(10, 10))
        self.sizeGrip.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
        self.sizeGrip.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
        self.sizeGrip.setObjectName("sizeGrip")
        self.horizontalLayout_11.addWidget(self.sizeGrip)
        self.verticalLayout_10.addWidget(self.footerContainer)
        self.horizontalLayout.addWidget(self.mainBodyContainer)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.menuButton.setToolTip(_translate("MainWindow", "Menu"))
        self.homeButton.setToolTip(_translate("MainWindow", "Home"))
        self.homeButton.setText(_translate("MainWindow", "Home"))
        self.dataButton.setToolTip(_translate("MainWindow", "Data"))
        self.dataButton.setText(_translate("MainWindow", "Data"))
        self.reportsButton.setToolTip(_translate("MainWindow", "Reports"))
        self.reportsButton.setText(_translate("MainWindow", "Reports"))
        self.einstellungenButton.setToolTip(_translate("MainWindow", "Zu den Einstellungen"))
        self.einstellungenButton.setText(_translate("MainWindow", "Einstellungen"))
        self.infoButton.setToolTip(_translate("MainWindow", "Informationen"))
        self.infoButton.setText(_translate("MainWindow", "Informationen"))
        self.hilfeButton.setToolTip(_translate("MainWindow", "Hilfe"))
        self.hilfeButton.setText(_translate("MainWindow", "Hilfe"))
        self.label.setText(_translate("MainWindow", "More Menu"))
        self.pushButton.setToolTip(_translate("MainWindow", "Close Menu"))
        self.label_2.setText(_translate("MainWindow", "Einstellungen"))
        self.label_3.setText(_translate("MainWindow", "Information"))
        self.label_4.setText(_translate("MainWindow", "Hilfe"))
        self.label_6.setText(_translate("MainWindow", "Julietto"))
        self.pushButton_6.setToolTip(_translate("MainWindow", "More"))
        self.pushButton_5.setToolTip(_translate("MainWindow", "Profil"))
        self.pushButton_4.setToolTip(_translate("MainWindow", "Minimieren"))
        self.pushButton_3.setToolTip(_translate("MainWindow", "Restore Window"))
        self.pushButton_2.setToolTip(_translate("MainWindow", "Close Window"))
        self.label_10.setText(_translate("MainWindow", "Home"))
        self.label_11.setText(_translate("MainWindow", "Data"))
        self.label_12.setText(_translate("MainWindow", "Reports"))
        self.label_7.setText(_translate("MainWindow", "Right Menu"))
        self.pushButton_7.setToolTip(_translate("MainWindow", "Close Menu"))
        self.label_8.setText(_translate("MainWindow", "Profil"))
        self.label_9.setText(_translate("MainWindow", "More"))
        self.label_14.setText(_translate("MainWindow", "Notification"))
        self.label_13.setText(_translate("MainWindow", "Notification Message"))
        self.pushButton_8.setToolTip(_translate("MainWindow", "Close Message"))
        self.label_15.setText(_translate("MainWindow", "Copyright Bätz 2024"))
Sirius3
User
Beiträge: 18030
Registriert: Sonntag 21. Oktober 2012, 17:20

PyCharm macht eine statische Code-Analyse, die nicht unbedingt 100% korrekt ist. In Deinem Fall ist es aber so, dass Attribute außerhalb von __init__ eingeführt werden, in diesem Fall ist das auch Absicht.

Trotzdem sollte man erst gar keinen Python-Code aus den ui-Dateien generieren, sondern die ui-Dateien direkt per loadui laden. Dann gibt es auch keine Warnungen mehr.

Der if-__name__-Block ist falsch eingerückt, deshalb passiert beim Ausführen nichts.
aproxxo
User
Beiträge: 13
Registriert: Donnerstag 19. November 2020, 15:52

Vielen Dank für die schnelle Rückmeldung.
Und diesen Tip, direkt die UI zu laden.
Kannst du mir sagen, weshalb in alle Tutorials das konvertieren statt das direkte laden gezeigt wird?

Nun ist es so, es öffnet sich meine GUI. Leider sind die ganzen icons nicht geladen und ich bekomme Warnungen die ebenfalls keinen Sinn für mich ergeben. Hast du dazu eventuell noch ein Tip?

Code: Alles auswählen

import sys
from PyQt6.QtWidgets import *
from PySide6 import QtWidgets
from PyQt6.uic import *


class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.ui = loadUi("interface.ui", self)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    dialog = MainWindow()
    dialog.show()
    sys.exit(app.exec())

Code: Alles auswählen

objc[27322]: Class QDarwinBluetoothPermissionHandler is implemented in both /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so (0x101352e60) and /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PySide6/QtCore.abi3.so (0x107e5b1b0). One of the two will be used. Which one is undefined.
objc[27322]: Class QDarwinCalendarPermissionHandler is implemented in both /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so (0x101352ed8) and /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PySide6/QtCore.abi3.so (0x107e5b228). One of the two will be used. Which one is undefined.
objc[27322]: Class QDarwinCameraPermissionHandler is implemented in both /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so (0x101352f28) and /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PySide6/QtCore.abi3.so (0x107e5b278). One of the two will be used. Which one is undefined.
objc[27322]: Class QDarwinContactsPermissionHandler is implemented in both /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so (0x101352f78) and /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PySide6/QtCore.abi3.so (0x107e5b2c8). One of the two will be used. Which one is undefined.
objc[27322]: Class QDarwinMicrophonePermissionHandler is implemented in both /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so (0x101353018) and /Users//Documents/PyCharm Projekte//.venv/lib/python3.9/site-packages/PySide6/QtCore.abi3.so (0x107e5b318). One of the two will be used. Which one is undefined.
Unknown property background-colors
Unknown property background-colors
Benutzeravatar
__blackjack__
User
Beiträge: 13457
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@aproxxo: Die Frage beantwortet sich wenn man mal darüber nachdenkt warum es so viele Tutorials gibt die das so zeigen: Viele die Tutorials schreiben, schauen was die anderen Tutorials schreiben und machen das dann auch. Als nächstes kann man über die Qualität und/oder den Sinn von abgeschriebenen Tutorials nachdenken. 🤔

Ich denke es ist gar keine gute Idee zwei unterschiedliche Qt-Anbindungen zu mischen. Entweder PySide oder PyQt, nicht beides im gleichen Programm.

Es macht keinen Sinn den Rückgabewert von `loadUi()` zu verwenden *und* das zweite Argument zu übergeben. Entweder man verwendet den Rückgabewert, oder man verwendet das Objekt, das als zweites Argument übergeben wurde.

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
Sirius3
User
Beiträge: 18030
Registriert: Sonntag 21. Oktober 2012, 17:20

In PySide hat sich die Logik geändert. Man erzeugt keine Klassen mehr, die von QtMainwindow erben, sondern die ui-Datei weiß ja schon, dass sie ein MainWindow erzeugen soll.

Code: Alles auswählen

import sys
from PySide6 import QtWidgets
from PySide6.QtUiTools import QUiLoader

class Application():
    def __init__(self):
        loader = QUiLoader()
        self.main_window = loader.load("dialog.ui", None)

    def run(self):
        app = QtWidgets.QApplication(sys.argv)
        self.main_window.show()
        sys.exit(app.exec())


def main():
    app = Application()
    app.run()

if __name__ == "__main__":
    main()
In Application kann man sich dann mit Signalen verbinden und die eigentlichen Aktionen implementieren.
aproxxo
User
Beiträge: 13
Registriert: Donnerstag 19. November 2020, 15:52

Vielen Dank für die Rückmeldungen. Da ich ganz am Anfang stehen, was QT und Python angeht, muss ich mich da jetzt mit den neuen Informationen auseinander setzten. Hatte so viele Tutorials angeschaut, die alle ganz anders aufgebaut sind.
Sirius3 hat geschrieben: Mittwoch 4. September 2024, 18:05 In PySide hat sich die Logik geändert. Man erzeugt keine Klassen mehr, die von QtMainwindow erben, sondern die ui-Datei weiß ja schon, dass sie ein MainWindow erzeugen soll.
Vielen Dank für den Code Schnipsel. Die GUI wird ohne die oben genannten Fehler geladen. Aktuell wird als Warnung nur noch "Unknown property background-colors" ausgegeben und meine icons sind leider nicht drin. Da stimmt sicher irgendwie der Pfad nicht.
Sirius3
User
Beiträge: 18030
Registriert: Sonntag 21. Oktober 2012, 17:20

Das Property background-colors gibt es ja auch nicht. Da ist ein "s" zuviel.
Wenn Resourcen nicht gefunden werden, dann muß das passende Working-Directory gesetzt werden: https://doc.qt.io/qtforpython-6/PySide6 ... gDirectory
aproxxo
User
Beiträge: 13
Registriert: Donnerstag 19. November 2020, 15:52

Sirius3 hat geschrieben: Donnerstag 5. September 2024, 10:41 Das Property background-colors gibt es ja auch nicht. Da ist ein "s" zuviel.
Wenn Resourcen nicht gefunden werden, dann muß das passende Working-Directory gesetzt werden: https://doc.qt.io/qtforpython-6/PySide6 ... gDirectory
Vielen Dank für die Info. Das "s" habe ich wirklich einfach übersehen. Der Fehler ist hiermit behoben.

Leider bekomme ich einfach nicht hin, das die icons den richtigen Pfad haben. In meiner resources.qrc Datei, steht der korrekte Pfad drin. Was übersehe ich hier denn?

Code: Alles auswählen

<RCC>
  <qresource prefix="icons">
    <file>icons_ws/activity.svg</file>
    <file>icons_ws/airplay.svg</file>
    <file>icons_ws/alert-circle.svg</file>
Auch in meiner ui Datei ist die angelegte Ordner Struktur wie im Designer hinterlegt.

Code: Alles auswählen

               <property name="icon">
                <iconset resource="resources.qrc">
                 <normaloff>:/icons/icons_ws/align-justify.svg</normaloff>:/icons/icons_ws/align-justify.svg</iconset>
               </property>
               <property name="iconSize">
                <size>
                 <width>24</width>
                 <height>24</height>
Benutzeravatar
__blackjack__
User
Beiträge: 13457
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@aproxxo: Du übersiehst, dass der Pfad in den Ressourcen relativ angegeben ist und man Qt noch mitteilen muss zu welchem Verzeichnis das relativ angegeben ist. Und das macht man mit der Methode die Sirius3 verlinkt hat.

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
aproxxo
User
Beiträge: 13
Registriert: Donnerstag 19. November 2020, 15:52

__blackjack__ hat geschrieben: Samstag 7. September 2024, 14:17 @aproxxo: Du übersiehst, dass der Pfad in den Ressourcen relativ angegeben ist und man Qt noch mitteilen muss zu welchem Verzeichnis das relativ angegeben ist. Und das macht man mit der Methode die Sirius3 verlinkt hat.
Vielen Dank nochmal für die Antwort. Mein Problem war anscheinend das "Caches" in Pycharm. Nachdem ich diesen gelöscht und neu gestartet habe, wurden alle icons erkannt.
Antworten