Fenster friert nach keyboard.on_presskey ein

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

Hey,

weiß jemand, warum mein Fenster einfriert nachdem ich es per on_press_key in FullScreen setzte? Nachdem ich die Taste gedrückt habe, geht das Fenster in den Fullscreen jedoch ist nichts mehr möglich das Fenster wird nach wenigen Sekunden weiß und Python muss beendet werden. Auch wenn ich das Fenster standartmäßig auf FullScreen setzte und mehr Tastendruck in Maximized Modus setzen möchte passiert das selbe.

Ich danke euch 🙂

Ich nutze folgenden Code:

Code: Alles auswählen

keyboard.on_presskey("q", lambda  : MainWindow.showFullScreen())
Benutzeravatar
__blackjack__
User
Beiträge: 12984
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Crypto-Alman: Was ist denn hier `keyboard` und welches GUI-Rahmenwerk wird verwendet?

Der ``lambda``-Ausdruck ist unnötig, man könnte da gleich die Methode angeben. Wobei `MainWindow` wohl `main_window` heissen sollte, denn das ist ja an der Stelle keine Klasse.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

An anderer Stelle redet er ja von Qt, die Verbindung mit keyboard ist hoechstwahrscheinlich falsch. Statt da ein weiteres Modul, welches den Mainloop kontrollieren will (oder aus einem parallelen Thread arbeitet) einzusetzen, legt man QShortcuts an, und steuert das darueber.
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

Hallo Zusammen,

vielen Dank für eure Antworten.

@_blackjack_: Ich nutze das keyboard Modul (https://pypi.org/project/keyboard/) mit pip install keyboard. Dies habe ich gefunden als ich im Internet nach einer Möglichkeit gesucht habe nach Tastendruck Funktion auszuführen. Ich nutze QT. Wenn ich lambda weg lasse, passiert gar nichts mehr. Vorher hat das Programm das Fenster von FullScreen zu Maximized geändert und ist dann eingefroren. Jetzt friert nichts mehr ein jedoch tut sich auch nichts.

@_deets_ Bitte helf mir auf die Sprünge was meinst du mit Verbindung zum Keyboard wahrscheinlich falsch? Kannst du mir nähere Infos geben nach was ich suchen kann oder wonach ich schauen kann?

Vieleicht hat jemand von euch auch einen ganz anderen Lösungsvorschlag, mein Wunsch ist, das mein Programm dauerhaft im Fullscreen Modus läuft jedoch mit einer Taste, die ich kenne, in die Maximized Modus geändert wird.

Vielen Dank
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

Ich nochmal, wenn ich ohne lambda arbeite, bekomme ich folgenden Fehler in der Konsole:

Bild

Ich nutze folgenden Code:

Code: Alles auswählen

keyboard.on_press_key("q", MainWindow.showFullScreen)
MainWindow ist mein Fenster für QT. Wenn ich main_window schreibe, habe ich nicht die Möglichkeit mit showFullscreen oder showMaximized
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du kannst das keyboard Modul das du benutzt nicht verwenden. Du mischst hier zwei Frameworks - Qt und keyboard- die beide die Kontrolle über den mainloop brauchen. Und es gibt dafür keinen Grund. Qt kann wunderbar Tastaturkürzel behandeln. Benutz QShortcut & gut ist.
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

@__deets__ vielen Dank, verstanden! Schaue ich mir später nach der Arbeit mal in Ruhe an.
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

Ich habe mir nun QShortcuts genauer angeschaut jedoch komme ich in meinem Projekt nicht weiter. Auf dieser Seite habe ich mir das Thema angeschaut: https://zetcode.com/pyqt/qshortcut/ und habe dieses Video zusätzlich angeschaut: https://www.youtube.com/watch?v=tyZYXnWShlo . Beim nachcoden in einer neuen Datei hat alles reibungslos funktioniert und die Shortcuts werden angenommen. Bisher klappt es jedoch noch nicht, dies in mein Projekt einzubauen.

Ich habe mein Fenster mit dem QtDesigner erstellt, den ersten Unterschied zwischen dem Code aus dem Tutorial und der Ausgabe von QtDesigner ist, dass QtDesigner bei der Definition der Ui Klasse, "object" in Klammern setzt und in dem Tutorial wird QWidget in die Klammern gesetzt.

QtDesigner:

Code: Alles auswählen

class Beispielprojekt(object):
Tutorial:

Code: Alles auswählen

class Beispielprojekt(QWidget):
Wenn ich "object" in den Klammern stehen lasse, habe ich diese Fehlermeldung erhalten:

Traceback (most recent call last):
File "C:\Users\muell\PycharmProjects\ProCalc-v.1\hauptfenster.py", line 672, in <module>
ui.setupUi(MainWindow)
File "C:\Users\muell\PycharmProjects\ProCalc-v.1\hauptfenster.py", line 23, in setupUi
self.maxiMode = QShortcut(QKeySequence('Ctrl+M'), self)
TypeError: arguments did not match any overloaded call:
QShortcut(QWidget): argument 1 has unexpected type 'QKeySequence'
QShortcut(Union[QKeySequence, QKeySequence.StandardKey, str, int], QWidget, member: PYQT_SLOT = 0, ambiguousMember: PYQT_SLOT = 0, context: Qt.ShortcutContext = Qt.WindowShortcut): argument 2 has unexpected type 'Ui_MainWindow'

Nachdem ich object durch QWidget ersetzt habe, war der Fehler weg und mein Fenster hat sich normal geöffnet.

Jedoch funktionieren die Shortcuts nicht, ich habe 2 Stück, einen um eine Funktion aufzurufen und einen um das Fenster zu schließen, keiner davon klappt.

Code: Alles auswählen

        self.maxiMode = QShortcut(QKeySequence('Ctrl+M'), self)
        self.maxiMode.activated.connect(self.maximizewindow)

        self.quitMode = QShortcut(QKeySequence('Ctrl+Q'), self)
        self.quitMode.activated.connect(QApplication.instance().quit)
Ich habe schon nach weiteren Tutorials geschaut gerade auch im Zusammenhang mit dem QtDesigner leider erfolglos, der einzige Unterschied, den ich jetzt noch erkenne ist folgender Code im Tutorial:

Code: Alles auswählen

    def __init__(self):
        super().__init__()

        self.initUI()
Kann das den Unterschied machen, kann mir jemand erklären was dieser Code bewirkt? Bekomme es leider nicht für mich umgeschrieben um es zu testen.

Vielen Dank :D
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

Der QtDesigner erzeugt gar keine Python-Klassen, sondern das machst Du indem Du die ui-Datei in eine Python-Datei umwandelst. Das macht man aber nicht, sondern lädt die ui-Datei direkt, und dort definierst Du ja die Basisklasse selbst.
Um sagen zu können, warum das bei Dir nicht funktioniert, müßtest Du hier schon eine minimale Version Deines Codes posten, der dieses Verhalten zeigt.
Benutzeravatar
__blackjack__
User
Beiträge: 12984
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

`Ui_MainWindow` deutet darauf hin, dass Du da irgendwie Code generierst. Das macht man schon lange nicht mehr weil man die *.ui-Datei auch zur Laufzeit laden kann. Ich hoffe Du hast in dem generierten Quelltext nicht auch noch Änderungen durchgeführt.

Die `__init__()` in dem Tutorial ruft die `__init__()` der Basisklasse auf, was Grundlage Objektorientierung ist und ruft danach eine Methode auf, was jetzt auch keine Frage(n) aufwerfen sollte. Also bei dem Code im Tutorial höchstens die Frage warum der Code zur Initialisierung nicht in der `__init__()` steht, sondern in eine Methode verschoben wurde. Das kann in anderen Programmiersprachen Sinn machen, dass man Objekte in zwei Schritten konstruiert, aber dann wäre der Aufruf von Schritt zwei nicht in Schritt 1 enthalten.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

Danke für eure schnellen Antworten.
Ich bin bisher so vorgegangen: Ich habe mein Fenster im QtDesigner erstellt, habe dann per puic5 die .ui in .py umgewandelte und arbeite seitdem mit den .py Dateien, habe jedoch keine Widgets hinzugefügt sondern nur an bestehenden gearbeitet (UND: bei der Klasse in den Klammern aus object, QWidget gemacht um den oben beschriebenen Fehler zu vermeiden) So wie ich lese, bin ich komplett falsch vorgegangen. In keinen der Tutorials die ich geschaut habe, wurde die .ui direkt geladen. Ich habe an den Code einige Dinge verändert um die Ansicht anzupassen (wie in einem anderem Thread geschrieben).

Was schlagt ihr vor? Kann ich so wie bisher weiter machen und in meinen .py Dateien weiterarbeiten? Oder von "neu" anfangen und wie ihr beschreibt die .ui laden?
Falls zweitens, kann ich auch beim direkten laden der .ui Anpassungen an Widget vornehmen die ich im QtDesigner bisher nicht gefunden habe?

Anbei mein Code (Hauptsächlich QtDesigner)

Code: Alles auswählen

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

# Form implementation generated from reading ui file 'C:\Users\muell\Desktop\ProCalc\Hauptfenster.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QShortcut, QMessageBox, QWidget, QApplication
from PyQt5.QtGui import QKeySequence





class Ui_MainWindow(QWidget):

#    def __init__(self):
#        super().__init__()
#
#        self.setupUi()

    def setupUi(self, MainWindow):

        self.quitMode = QShortcut(QKeySequence('Ctrl+Q'), self)
        self.quitMode.activated.connect(QApplication.instance().quit)

        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1920, 1072)
        MainWindow.showMaximized()
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("files/24ProCalcLogo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        MainWindow.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.groupBox_Takes = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_Takes.setGeometry(QtCore.QRect(10, 150, 650, 791))
        self.groupBox_Takes.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";")
        self.groupBox_Takes.setObjectName("groupBox_Takes")

        ## Tabelle Take und Punkte Overview

        self.tableWidget_TakeOverview = QtWidgets.QTableWidget(self.groupBox_Takes)
        self.tableWidget_TakeOverview.verticalHeader().setVisible(False)
        self.tableWidget_TakeOverview.horizontalHeader().setVisible(False)
        self.tableWidget_TakeOverview.setSelectionMode(QtWidgets.QTableWidget.NoSelection)
        self.tableWidget_TakeOverview.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers)
        self.tableWidget_TakeOverview.setEnabled(False)

        self.tableWidget_TakeOverview.setGeometry(QtCore.QRect(20, 30, 621, 751))
        self.tableWidget_TakeOverview.setStyleSheet("color: rgb(99, 99, 99);\n"
"")
        self.tableWidget_TakeOverview.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.tableWidget_TakeOverview.setFrameShadow(QtWidgets.QFrame.Raised)
        self.tableWidget_TakeOverview.setShowGrid(True)
        self.tableWidget_TakeOverview.setGridStyle(QtCore.Qt.SolidLine)
        self.tableWidget_TakeOverview.setRowCount(27)
        self.tableWidget_TakeOverview.setColumnCount(4)
        self.tableWidget_TakeOverview.setObjectName("tableWidget_TakeOverview")
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(0, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(0, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(0, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(0, 3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(1, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(2, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(3, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(4, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(5, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(6, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(7, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(8, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(9, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(10, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(11, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(12, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(13, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(14, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(15, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(16, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(17, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(18, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(19, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(20, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(21, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(22, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(23, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(24, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(25, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_TakeOverview.setItem(26, 0, item)
        self.label_Welcome = QtWidgets.QLabel(self.centralwidget)
        self.label_Welcome.setGeometry(QtCore.QRect(690, 10, 461, 81))
        self.label_Welcome.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 75 40pt \"Verdana\";")
        self.label_Welcome.setObjectName("label_Welcome")
        self.label_DateOfData = QtWidgets.QLabel(self.centralwidget)
        self.label_DateOfData.setGeometry(QtCore.QRect(780, 100, 241, 31))
        self.label_DateOfData.setStyleSheet("font: 14pt \"Verdana\";\n"
"text-decoration: underline;\n"
"color: rgb(99, 99, 99);")
        self.label_DateOfData.setObjectName("label_DateOfData")
        self.groupBox_Goals = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_Goals.setGeometry(QtCore.QRect(680, 150, 411, 791))
        self.groupBox_Goals.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";")
        self.groupBox_Goals.setObjectName("groupBox_Goals")
        self.label_GoalMonth = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_GoalMonth.setGeometry(QtCore.QRect(30, 50, 261, 16))
        self.label_GoalMonth.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_GoalMonth.setObjectName("label_GoalMonth")
        self.tableWidget_Goals = QtWidgets.QTableWidget(self.groupBox_Goals)
        self.tableWidget_Goals.setGeometry(QtCore.QRect(30, 90, 351, 181))
        self.tableWidget_Goals.verticalHeader().setVisible(False)
        self.tableWidget_Goals.horizontalHeader().setVisible(False)
        self.tableWidget_Goals.setSelectionMode(QtWidgets.QTableWidget.NoSelection)
        self.tableWidget_Goals.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers)
        self.tableWidget_Goals.setStyleSheet("color: rgb(99, 99, 99);")
        self.tableWidget_Goals.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.tableWidget_Goals.setFrameShadow(QtWidgets.QFrame.Raised)
        self.tableWidget_Goals.setLineWidth(1)
        self.tableWidget_Goals.setShowGrid(True)
        self.tableWidget_Goals.setGridStyle(QtCore.Qt.SolidLine)
        self.tableWidget_Goals.setRowCount(4)
        self.tableWidget_Goals.setColumnCount(3)
        self.tableWidget_Goals.setObjectName("tableWidget_Goals")
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(0, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(0, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(0, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(1, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(1, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(1, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(2, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(2, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(2, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(3, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(3, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Goals.setItem(3, 2, item)
        self.label_DSLTakesGoal = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_DSLTakesGoal.setGeometry(QtCore.QRect(30, 280, 261, 21))
        self.label_DSLTakesGoal.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";\n"
"text-decoration: underline;")
        self.label_DSLTakesGoal.setObjectName("label_DSLTakesGoal")
        self.label_MobileTVGoal = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_MobileTVGoal.setGeometry(QtCore.QRect(30, 410, 280, 21))
        self.label_MobileTVGoal.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";\n"
"text-decoration: underline;")
        self.label_MobileTVGoal.setObjectName("label_MobileTVGoal")
        self.label_CableMigrationGoal = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_CableMigrationGoal.setGeometry(QtCore.QRect(30, 540, 261, 21))
        self.label_CableMigrationGoal.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";\n"
"text-decoration: underline;\n"
"")
        self.label_CableMigrationGoal.setObjectName("label_CableMigrationGoal")
        self.label_DSLTakesGoalStatus = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_DSLTakesGoalStatus.setGeometry(QtCore.QRect(30, 300, 321, 61))
        self.label_DSLTakesGoalStatus.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_DSLTakesGoalStatus.setWordWrap(True)
        self.label_DSLTakesGoalStatus.setObjectName("label_DSLTakesGoalStatus")
        self.label_MobileTVGoalStatus = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_MobileTVGoalStatus.setGeometry(QtCore.QRect(30, 430, 321, 61))
        self.label_MobileTVGoalStatus.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_MobileTVGoalStatus.setWordWrap(True)
        self.label_MobileTVGoalStatus.setObjectName("label_MobileTVGoalStatus")
        self.label_CableMigrationGoalStatus = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_CableMigrationGoalStatus.setGeometry(QtCore.QRect(30, 560, 321, 61))
        self.label_CableMigrationGoalStatus.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_CableMigrationGoalStatus.setWordWrap(True)
        self.label_CableMigrationGoalStatus.setObjectName("label_CableMigrationGoalStatus")
        self.label_Achievment = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_Achievment.setGeometry(QtCore.QRect(30, 670, 261, 21))
        self.label_Achievment.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";\n"
"text-decoration: underline;\n"
"")
        self.label_Achievment.setObjectName("label_Achievment")
        self.label_AchievmentStatus = QtWidgets.QLabel(self.groupBox_Goals)
        self.label_AchievmentStatus.setGeometry(QtCore.QRect(30, 700, 321, 31))
        self.label_AchievmentStatus.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_AchievmentStatus.setWordWrap(True)
        self.label_AchievmentStatus.setObjectName("label_AchievmentStatus")
        self.frame_LogoBottomMiddle = QtWidgets.QFrame(self.centralwidget)
        self.frame_LogoBottomMiddle.setGeometry(QtCore.QRect(800, 960, 320, 93))
        self.frame_LogoBottomMiddle.setStyleSheet("image: url(files/Banner.jpg);")
        self.frame_LogoBottomMiddle.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_LogoBottomMiddle.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_LogoBottomMiddle.setObjectName("frame_LogoBottomMiddle")
        self.groupBox_CashAnalyse = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_CashAnalyse.setGeometry(QtCore.QRect(1110, 150, 801, 791))
        self.groupBox_CashAnalyse.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";")
        self.groupBox_CashAnalyse.setObjectName("groupBox_CashAnalyse")
        self.label_PointStatus = QtWidgets.QLabel(self.groupBox_CashAnalyse)
        self.label_PointStatus.setGeometry(QtCore.QRect(30, 40, 321, 81))
        self.label_PointStatus.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_PointStatus.setWordWrap(True)
        self.label_PointStatus.setObjectName("label_PointStatus")
        self.label_Faktor = QtWidgets.QLabel(self.groupBox_CashAnalyse)
        self.label_Faktor.setGeometry(QtCore.QRect(30, 150, 261, 21))
        self.label_Faktor.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";\n"
"text-decoration: underline;")
        self.label_Faktor.setObjectName("label_Faktor")
        self.label_FaktorStatus = QtWidgets.QLabel(self.groupBox_CashAnalyse)
        self.label_FaktorStatus.setGeometry(QtCore.QRect(30, 380, 641, 61))
        self.label_FaktorStatus.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 11pt \"Verdana\";")
        self.label_FaktorStatus.setWordWrap(True)
        self.label_FaktorStatus.setObjectName("label_FaktorStatus")
        self.label_CashStatus = QtWidgets.QLabel(self.groupBox_CashAnalyse)
        self.label_CashStatus.setGeometry(QtCore.QRect(30, 500, 451, 61))
        self.label_CashStatus.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_CashStatus.setWordWrap(True)
        self.label_CashStatus.setObjectName("label_CashStatus")
        self.tableWidget_Faktor = QtWidgets.QTableWidget(self.groupBox_CashAnalyse)
        self.tableWidget_Faktor.setGeometry(QtCore.QRect(30, 180, 754, 182))
        self.tableWidget_Faktor.verticalHeader().setVisible(False)
        self.tableWidget_Faktor.horizontalHeader().setVisible(False)
        self.tableWidget_Faktor.setSelectionMode(QtWidgets.QTableWidget.NoSelection)
        self.tableWidget_Faktor.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers)
        self.tableWidget_Faktor.setStyleSheet("font: 9pt \"Verdana\";\n"
"")
        self.tableWidget_Faktor.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
        self.tableWidget_Faktor.setRowCount(6)
        self.tableWidget_Faktor.setColumnCount(8)
        self.tableWidget_Faktor.setObjectName("tableWidget_Faktor")
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 6, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(0, 7, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(1, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(1, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(1, 3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(1, 4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(1, 5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(1, 6, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(1, 7, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 6, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(2, 7, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 6, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(3, 7, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 6, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(4, 7, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 6, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget_Faktor.setItem(5, 7, item)
        self.label_Disclaimer = QtWidgets.QLabel(self.groupBox_CashAnalyse)
        self.label_Disclaimer.setGeometry(QtCore.QRect(10, 680, 781, 101))
        self.label_Disclaimer.setObjectName("label_Disclaimer")
        self.label_Cash = QtWidgets.QLabel(self.groupBox_CashAnalyse)
        self.label_Cash.setGeometry(QtCore.QRect(30, 490, 261, 21))
        self.label_Cash.setStyleSheet("color: rgb(16, 123, 205);\n"
"font: 13pt \"Verdana\";\n"
"text-decoration: underline;")
        self.label_Cash.setObjectName("label_Cash")
        self.frame_LogoBottomLeft = QtWidgets.QFrame(self.centralwidget)
        self.frame_LogoBottomLeft.setGeometry(QtCore.QRect(80, 960, 66, 66))
        self.frame_LogoBottomLeft.setStyleSheet("image: url(files/ziele.jpg);")
        self.frame_LogoBottomLeft.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_LogoBottomLeft.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_LogoBottomLeft.setObjectName("frame_LogoBottomLeft")
        self.label_LogoBottomLeft = QtWidgets.QLabel(self.centralwidget)
        self.label_LogoBottomLeft.setGeometry(QtCore.QRect(170, 970, 411, 51))
        self.label_LogoBottomLeft.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_LogoBottomLeft.setObjectName("label_LogoBottomLeft")
        self.frame_LogoBottomRight = QtWidgets.QFrame(self.centralwidget)
        self.frame_LogoBottomRight.setGeometry(QtCore.QRect(1260, 960, 66, 66))
        self.frame_LogoBottomRight.setStyleSheet("image: url(files/erfolgprovi.jpg);")
        self.frame_LogoBottomRight.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_LogoBottomRight.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_LogoBottomRight.setObjectName("frame_LogoBottomRight")
        self.label_LogoBottomRight = QtWidgets.QLabel(self.centralwidget)
        self.label_LogoBottomRight.setGeometry(QtCore.QRect(1350, 970, 411, 51))
        self.label_LogoBottomRight.setStyleSheet("color: rgb(99, 99, 99);\n"
"font: 12pt \"Verdana\";")
        self.label_LogoBottomRight.setObjectName("label_LogoBottomRight")
        MainWindow.setCentralWidget(self.centralwidget)

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

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "ProCalc v 1.0"))
        self.groupBox_Takes.setTitle(_translate("MainWindow", "Auftragsübersicht"))
        __sortingEnabled = self.tableWidget_TakeOverview.isSortingEnabled()
        self.tableWidget_TakeOverview.setSortingEnabled(False)
        item = self.tableWidget_TakeOverview.item(0, 0)
        item.setText(_translate("MainWindow", "Auftragsart"))
        item = self.tableWidget_TakeOverview.item(0, 1)
        item.setText(_translate("MainWindow", "Anzahl"))
        item = self.tableWidget_TakeOverview.item(0, 2)
        item.setText(_translate("MainWindow", "Punkte"))
        item = self.tableWidget_TakeOverview.item(0, 3)
        item.setText(_translate("MainWindow", "Gesamt-Punkte"))
        item = self.tableWidget_TakeOverview.item(1, 0)
        item.setText(_translate("MainWindow", "Stay-Takes\n"
""))
        item = self.tableWidget_TakeOverview.item(2, 0)
        item.setText(_translate("MainWindow", "Kabel-Deutschland Take\n"
""))
        item = self.tableWidget_TakeOverview.item(3, 0)
        item.setText(_translate("MainWindow", "Red Internet & Phone 50 Cable U\n"
""))
        item = self.tableWidget_TakeOverview.item(4, 0)
        item.setText(_translate("MainWindow", "Red Internet & Phone 100 Cable U\n"
""))
        item = self.tableWidget_TakeOverview.item(5, 0)
        item.setText(_translate("MainWindow", "Red Internet & Phone 250 Cable U\n"
""))
        item = self.tableWidget_TakeOverview.item(6, 0)
        item.setText(_translate("MainWindow", "Red Internet & Phone 500 Cable U\n"
""))
        item = self.tableWidget_TakeOverview.item(7, 0)
        item.setText(_translate("MainWindow", "Red Internet & Phone 1000 Cable U\n"
""))
        item = self.tableWidget_TakeOverview.item(8, 0)
        item.setText(_translate("MainWindow", "RED XS\n"
""))
        item = self.tableWidget_TakeOverview.item(9, 0)
        item.setText(_translate("MainWindow", "RED S\n"
""))
        item = self.tableWidget_TakeOverview.item(10, 0)
        item.setText(_translate("MainWindow", "RED M\n"
""))
        item = self.tableWidget_TakeOverview.item(11, 0)
        item.setText(_translate("MainWindow", "RED L\n"
""))
        item = self.tableWidget_TakeOverview.item(12, 0)
        item.setText(_translate("MainWindow", "RED XL\n"
""))
        item = self.tableWidget_TakeOverview.item(13, 0)
        item.setText(_translate("MainWindow", "RED+ Allnet\n"
""))
        item = self.tableWidget_TakeOverview.item(14, 0)
        item.setText(_translate("MainWindow", "RED+ Data\n"
""))
        item = self.tableWidget_TakeOverview.item(15, 0)
        item.setText(_translate("MainWindow", "RED+ Kids\n"
""))
        item = self.tableWidget_TakeOverview.item(16, 0)
        item.setText(_translate("MainWindow", "Young XS\n"
""))
        item = self.tableWidget_TakeOverview.item(17, 0)
        item.setText(_translate("MainWindow", "Young S\n"
""))
        item = self.tableWidget_TakeOverview.item(18, 0)
        item.setText(_translate("MainWindow", "Young M\n"
""))
        item = self.tableWidget_TakeOverview.item(19, 0)
        item.setText(_translate("MainWindow", "Young L\n"
""))
        item = self.tableWidget_TakeOverview.item(20, 0)
        item.setText(_translate("MainWindow", "Young XL\n"
""))
        item = self.tableWidget_TakeOverview.item(21, 0)
        item.setText(_translate("MainWindow", "Giga Cube\n"
""))
        item = self.tableWidget_TakeOverview.item(22, 0)
        item.setText(_translate("MainWindow", "Giga Cube Mini\n"
""))
        item = self.tableWidget_TakeOverview.item(23, 0)
        item.setText(_translate("MainWindow", "Giga Cube Max\n"
""))
        item = self.tableWidget_TakeOverview.item(24, 0)
        item.setText(_translate("MainWindow", "GigaTV Net\n"
""))
        item = self.tableWidget_TakeOverview.item(25, 0)
        item.setText(_translate("MainWindow", "GigaTV Multiroom\n"
""))
        item = self.tableWidget_TakeOverview.item(26, 0)
        item.setText(_translate("MainWindow", "GigaTV App\n"
""))
        self.tableWidget_TakeOverview.setSortingEnabled(__sortingEnabled)
        self.label_Welcome.setText(_translate("MainWindow", "Hallo, Username"))# + ProgrammUser))
        self.label_DateOfData.setText(_translate("MainWindow", "Datenstand: 20.05.2022"))
        self.groupBox_Goals.setTitle(_translate("MainWindow", "Zielübersicht"))
        self.label_GoalMonth.setText(_translate("MainWindow", "<html><head/><body><p>Deine Ziele für den Monat: <span style=\" font-weight:600;\">Mai</span></p></body></html>"))
        __sortingEnabled = self.tableWidget_Goals.isSortingEnabled()
        self.tableWidget_Goals.setSortingEnabled(False)
        item = self.tableWidget_Goals.item(0, 0)
        item.setText(_translate("MainWindow", "Auftrags-Art"))
        item = self.tableWidget_Goals.item(0, 1)
        item.setText(_translate("MainWindow", "Ziel"))
        item = self.tableWidget_Goals.item(0, 2)
        item.setText(_translate("MainWindow", "IST"))
        item = self.tableWidget_Goals.item(1, 0)
        item.setText(_translate("MainWindow", "DSL-Takes"))
        item = self.tableWidget_Goals.item(1, 1)
        item.setText(_translate("MainWindow", "299"))
        item = self.tableWidget_Goals.item(1, 2)
        item.setText(_translate("MainWindow", "274"))
        item = self.tableWidget_Goals.item(2, 0)
        item.setText(_translate("MainWindow", "Mobile BNT + TV BNT"))
        item = self.tableWidget_Goals.item(2, 1)
        item.setText(_translate("MainWindow", "4"))
        item = self.tableWidget_Goals.item(2, 2)
        item.setText(_translate("MainWindow", "2"))
        item = self.tableWidget_Goals.item(3, 0)
        item.setText(_translate("MainWindow", "Kable-Migration"))
        item = self.tableWidget_Goals.item(3, 1)
        item.setText(_translate("MainWindow", "13"))
        item = self.tableWidget_Goals.item(3, 2)
        item.setText(_translate("MainWindow", "19"))
        self.tableWidget_Goals.setSortingEnabled(__sortingEnabled)
        self.label_DSLTakesGoal.setText(_translate("MainWindow", "<html><head/><body><p>DSL-Takes:</p></body></html>"))
        self.label_MobileTVGoal.setText(_translate("MainWindow", "Mobile-BNTs + TVs:"))
        self.label_CableMigrationGoal.setText(_translate("MainWindow", "Kabel-Migration:"))
        self.label_DSLTakesGoalStatus.setText(_translate("MainWindow", "Dir fehlen noch X Takes um dein Ziel zu erreichen."))
        self.label_MobileTVGoalStatus.setText(_translate("MainWindow", "Dir fehlen noch X Mobile-BNTs und X TVs um dein Ziel zu erreichen."))
        self.label_CableMigrationGoalStatus.setText(_translate("MainWindow", "Dir fehlen noch X Kabel-Migrationen um dein Ziel zu erreichen."))
        self.label_Achievment.setText(_translate("MainWindow", "Zielerreichung-Gesamt:"))
        self.label_AchievmentStatus.setText(_translate("MainWindow", "<html><head/><body><p>Du hast deine Ziele zu <span style=\" font-weight:600;\">97%</span> erreicht.</p></body></html>"))
        self.groupBox_CashAnalyse.setTitle(_translate("MainWindow", "Provisionsübersicht"))
        self.label_PointStatus.setText(_translate("MainWindow", "<html><head/><body><p>Username,</p><p><br/>du hast bisher <span style=\" font-weight:600; color:#636363;\">5874</span> Punkte erreicht.</p></body></html>"))
        self.label_Faktor.setText(_translate("MainWindow", "Provisions-Faktor:"))
        self.label_FaktorStatus.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:12pt;\">Anhand deiner generierten Punkte sowie deiner Zielerreichung ergibt sich der Provisions-Faktor: </span><span style=\" font-size:12pt; font-weight:600; color:#636363;\">0,0375 €</span></p></body></html>"))
        self.label_CashStatus.setText(_translate("MainWindow", "<html><head/><body><p>Dein aktueller Auszahlungsbetrag liegt bei: <span style=\" font-weight:600; text-decoration: underline; color:#636363;\">350,00 €</span></p></body></html>"))
        __sortingEnabled = self.tableWidget_Faktor.isSortingEnabled()
        self.tableWidget_Faktor.setSortingEnabled(False)
        item = self.tableWidget_Faktor.item(0, 0)
        item.setText(_translate("MainWindow", "von"))
        item = self.tableWidget_Faktor.item(0, 1)
        item.setText(_translate("MainWindow", "bis"))
        item = self.tableWidget_Faktor.item(0, 2)
        item.setText(_translate("MainWindow", "Stufe 0"))
        item = self.tableWidget_Faktor.item(0, 3)
        item.setText(_translate("MainWindow", "Stufe 1"))
        item = self.tableWidget_Faktor.item(0, 4)
        item.setText(_translate("MainWindow", " Stufe 2"))
        item = self.tableWidget_Faktor.item(0, 5)
        item.setText(_translate("MainWindow", " Stufe 3"))
        item = self.tableWidget_Faktor.item(0, 6)
        item.setText(_translate("MainWindow", "Stufe 4"))
        item = self.tableWidget_Faktor.item(0, 7)
        item.setText(_translate("MainWindow", "Stufe 5"))
        item = self.tableWidget_Faktor.item(1, 1)
        item.setText(_translate("MainWindow", "1500"))
        item = self.tableWidget_Faktor.item(1, 2)
        item.setText(_translate("MainWindow", "0,0075 €"))
        item = self.tableWidget_Faktor.item(1, 3)
        item.setText(_translate("MainWindow", "0,0150 €"))
        item = self.tableWidget_Faktor.item(1, 4)
        item.setText(_translate("MainWindow", "0,0225 €"))
        item = self.tableWidget_Faktor.item(1, 5)
        item.setText(_translate("MainWindow", "0,0300 €"))
        item = self.tableWidget_Faktor.item(1, 6)
        item.setText(_translate("MainWindow", "0,0450 €"))
        item = self.tableWidget_Faktor.item(1, 7)
        item.setText(_translate("MainWindow", "0,0600 €"))
        item = self.tableWidget_Faktor.item(2, 0)
        item.setText(_translate("MainWindow", "1501"))
        item = self.tableWidget_Faktor.item(2, 1)
        item.setText(_translate("MainWindow", "3000"))
        item = self.tableWidget_Faktor.item(2, 2)
        item.setText(_translate("MainWindow", "0,0100 €"))
        item = self.tableWidget_Faktor.item(2, 3)
        item.setText(_translate("MainWindow", "0,0200 €"))
        item = self.tableWidget_Faktor.item(2, 4)
        item.setText(_translate("MainWindow", "0,0300 €"))
        item = self.tableWidget_Faktor.item(2, 5)
        item.setText(_translate("MainWindow", "0,0400 €"))
        item = self.tableWidget_Faktor.item(2, 6)
        item.setText(_translate("MainWindow", "0,0600 €"))
        item = self.tableWidget_Faktor.item(2, 7)
        item.setText(_translate("MainWindow", "0,0800 €"))
        item = self.tableWidget_Faktor.item(3, 0)
        item.setText(_translate("MainWindow", "3001"))
        item = self.tableWidget_Faktor.item(3, 1)
        item.setText(_translate("MainWindow", "5000"))
        item = self.tableWidget_Faktor.item(3, 2)
        item.setText(_translate("MainWindow", "0,0125 €"))
        item = self.tableWidget_Faktor.item(3, 3)
        item.setText(_translate("MainWindow", "0,0250 €"))
        item = self.tableWidget_Faktor.item(3, 4)
        item.setText(_translate("MainWindow", "0,0375 €"))
        item = self.tableWidget_Faktor.item(3, 5)
        item.setText(_translate("MainWindow", "0,0500 €"))
        item = self.tableWidget_Faktor.item(3, 6)
        item.setText(_translate("MainWindow", "0,0750 €"))
        item = self.tableWidget_Faktor.item(3, 7)
        item.setText(_translate("MainWindow", "0,1000 €"))
        item = self.tableWidget_Faktor.item(4, 0)
        item.setText(_translate("MainWindow", "5001"))
        item = self.tableWidget_Faktor.item(4, 1)
        item.setText(_translate("MainWindow", "7000"))
        item = self.tableWidget_Faktor.item(4, 2)
        item.setText(_translate("MainWindow", "0,0150 €"))
        item = self.tableWidget_Faktor.item(4, 3)
        item.setText(_translate("MainWindow", "0,0300 €"))
        item = self.tableWidget_Faktor.item(4, 4)
        item.setText(_translate("MainWindow", "0,0450 €"))
        item = self.tableWidget_Faktor.item(4, 5)
        item.setText(_translate("MainWindow", "0,0600 €"))
        item = self.tableWidget_Faktor.item(4, 6)
        item.setText(_translate("MainWindow", "0,0900 €"))
        item = self.tableWidget_Faktor.item(4, 7)
        item.setText(_translate("MainWindow", "0,0120 €"))
        item = self.tableWidget_Faktor.item(5, 0)
        item.setText(_translate("MainWindow", "7001"))
        item = self.tableWidget_Faktor.item(5, 2)
        item.setText(_translate("MainWindow", "0,0250 €"))
        item = self.tableWidget_Faktor.item(5, 3)
        item.setText(_translate("MainWindow", "0,0500 €"))
        item = self.tableWidget_Faktor.item(5, 4)
        item.setText(_translate("MainWindow", "0,0750 €"))
        item = self.tableWidget_Faktor.item(5, 5)
        item.setText(_translate("MainWindow", "0,1000 €"))
        item = self.tableWidget_Faktor.item(5, 6)
        item.setText(_translate("MainWindow", "0,1500 €"))
        item = self.tableWidget_Faktor.item(5, 7)
        item.setText(_translate("MainWindow", "0,2000 €"))
        self.tableWidget_Faktor.setSortingEnabled(__sortingEnabled)
        self.label_Disclaimer.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:11pt; text-decoration: underline;\">H I N W E I S</span></p><p align=\"center\"><span style=\" font-size:11pt;\">Die hier errechnete Provision ist ohne Gewähr. Aufgrund von Storno-Aufträge aus den </span></p><p align=\"center\"><span style=\" font-size:11pt;\">vergangenen Monaten kann der Auszahlungsbetrag von den hier gezeigten Werten abweichen.</span></p></body></html>"))
        self.label_Cash.setText(_translate("MainWindow", "Provision:"))
        self.label_LogoBottomLeft.setText(_translate("MainWindow", "<html><head/><body><p>Habe deine Ziele stets im Blick, durch kleinere</p><p>Etappen-Ziele, erreichst du das große Ganze!</p></body></html>"))
        self.label_LogoBottomRight.setText(_translate("MainWindow", "<html><head/><body><p>Arbeite an dir selbst und steigere</p><p>deinen Erfolg und dein Einkommen!</p></body></html>"))

        #Spaltengröße ändern
        self.tableWidget_TakeOverview.setColumnWidth(0, 300)
        self.tableWidget_TakeOverview.setColumnWidth(1, 75)
        self.tableWidget_TakeOverview.setColumnWidth(2, 75)
        self.tableWidget_TakeOverview.setColumnWidth(3, 150)

        self.tableWidget_Goals.setColumnWidth(0, 200)
        self.tableWidget_Goals.setColumnWidth(1, 72)
        self.tableWidget_Goals.setColumnWidth(2, 72)

        self.tableWidget_Faktor.setColumnWidth(0, 94)
        self.tableWidget_Faktor.setColumnWidth(1, 94)
        self.tableWidget_Faktor.setColumnWidth(2, 94)
        self.tableWidget_Faktor.setColumnWidth(3, 94)
        self.tableWidget_Faktor.setColumnWidth(4, 94)
        self.tableWidget_Faktor.setColumnWidth(5, 94)
        self.tableWidget_Faktor.setColumnWidth(6, 94)
        self.tableWidget_Faktor.setColumnWidth(7, 94)
        self.tableWidget_Faktor.setColumnWidth(8, 94)



if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
Benutzeravatar
__blackjack__
User
Beiträge: 12984
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Crypto-Alman: Anmerkungen zu dem Tutorialbeispiel über die (un)sinnigkeit von der `initUI()`-Methode:

Der `show()`-Aufruf gehört nicht in die Initialisierung. Kein vorhandenes Widget zeigt sich beim erzeugen selbst an, das sollten auch abgeleitete Widgets nicht tun.

Man sollte die Position von Fenstern nicht vorgeben. Das ist Aufgabe der Fensterverwaltung einen geeigneten Platz zu finden.

Namen sollten keine kryptischen Abkürzungen enthalten oder gar nur daraus bestehen. Wenn man `messageShorcut` meint, sollte man nicht `msgSc` schreiben. Wobei die Shortcut-Objekte nicht nur keine Attribute sein müssten, sondern noch nicht einmal überhaupt an einen Namen gebunden werden müssten.

In Python 3 ist ``exec`` kein Schlüsselwort mehr und deshalb als Methodenname möglich und PyQt5 bietet diese Methode auch an. Dafür wird es in neueren Versionen `exec_()` nicht mehr geben.

Überarbeitet:

Code: Alles auswählen

#!/usr/bin/env python3
import sys

from PyQt5.QtCore import QSize
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QApplication, QMessageBox, QShortcut, QWidget


class Example(QWidget):
    def __init__(self):
        super().__init__(windowTitle="Shortcuts", size=QSize(300, 200))
        QShortcut(
            QKeySequence("Ctrl+M"),
            self,
            activated=lambda: QMessageBox.information(
                self, "Message", "Ctrl + M initiated"
            ),
        )
        QShortcut(
            QKeySequence("Ctrl+Q"),
            self,
            activated=QApplication.instance().quit,
        )


def main():
    app = QApplication(sys.argv)
    example = Example()
    example.show()
    sys.exit(app.exec())


if __name__ == "__main__":
    main()
Zum generierten Code: Ich habe da auf die schnelle kein Layout gesehen aber ganz viele `setGeometry()`-Aufrufe, da muss man also sowieso noch viel nachbessern. Was man nicht im Code machen will. In der ui-Datei kann man es aber auch nicht mehr machen ohne die Änderungen an der generierten Datei zu verlieren. Genau aus dem Grund verändert man ja auch keine generierten Dateien. Das steht als Warnung ja sogar in dem Kommentar am Anfang der Datei.

Ich würde da trotzdem in den sauren Apfel beissen und die generierte Datei vergessen und neuen Code schreiben, der die *.ui-Datei lädt.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

@__blackjack__ vielen Dank für deine detaillierte Aufschlüsselung und Erklärung, das habe ich verstanden.

Nochmal eine Frage zu dem .ui laden. Kann keim laden der Ui der Inhalt geändert werden? Beispiel: Ich habe 2 Fenster, 1. Login Fenster, der Benutzer meldet sich mit seinem Logindaten an, 2. Fenster je nachdem Welcher Benutzer sich angemeldet hat werden Labels, Tables etc. verändert. Das oben nicht Hallo, Username sondern Hallo, Jan steht. Und das je nachdem welcher Benutzer sich anmeldet andere Daten mit pandas aus einer excel gezogen werden um diese im Programm darzustellen?

Wenn das möglich ist, mache ich mich nochmal neu dran, hast du vielleicht geeignete Tutorials die diese Vorgehensweise mit dem laden der .ui beschreiben?
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Natürlich geht das. Du kannst ja immer noch auf die Widgets zugreifen. Der Code ist lediglich getrennt von der UI Anordnung. Zb das ganz setItem-Zeug. Das kann auch “außen” stehen. Wobei man das eh so nicht macht. Mindestens mal schreibt man nicht solche Dutzende von statements die trivial durch eine for-Schleife ersetzt werden können. Und eigentlich benutzt man ItemModels stattdessen.
Crypto-Alman
User
Beiträge: 34
Registriert: Montag 23. Mai 2022, 20:26

Hallo Zusammen,

vielen Dank für eure Hilfe, schaue mir jetzt das Thema mit loadUi an, so viel habe ich bisher noch nicht selbst gecoded sodass dass neu coden nicht schadet :D
Wenn ich den weg über loadUi gehe klappen auch die Shortcuts habe ich gerade testet.
Antworten