ich Versuche Zugriff auf meine Widgets zu bekommen, nur leider ohne Erfolg.
Ich müsste diese doch über den QUiLoader() ansprechen können?
ich habe die .ui direkt eingefügt. Nur leider bekomme ich eine Fehlermeldung bei Ansprache meiner Widgets.
Cannot find reference 'arbeitspreis_netto' in 'QWidget | QWidget'
Woran könnte dies liegen? QWidget ist ja laut QT Doc:
The QWidget class is the base class of all user interface objects.
https://doc.qt.io/qtforpython-6/PySide6 ... ts.QWidget
Und dann habe ich noch das Problem, dass die clicked() Funktion nicht gefunden wird.
Unresolved attribute reference 'clicked' for class 'object'
Hier der Quelltext:
Code: Alles auswählen
import sys
from PySide6 import QtWidgets
from PySide6.QtCore import QFile, QIODevice
from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog, QLabel, QSpinBox, QWidget
# Weiß nicht ob außer QApplication die anderen noetig sind war nur ein Versuch
from Abrechnung import Abrechnung
class Verbrauchsrechner:
"""Main Klasse hier startet das Programm"""
def __init__(self):
ui_file_name = "GUI/verbrauchsrechner_gui.ui"
ui_file = QFile(ui_file_name)
if not ui_file.open(QIODevice.ReadOnly):
print(f"Cannot open {ui_file_name}: {ui_file.errorString()}")
sys.exit(-1)
loader = QUiLoader()
self.window = loader.load(ui_file)
ui_file.close()
if not self.window:
print(loader.errorString())
sys.exit(-1)
# window.show()
# Slot eingerichtet
self.button = self.window.findChild(QtWidgets.QPushButton, "button_OK")
self.button.clicked.connect(self.berechne)
def berechne(self):
eingegebener_zaehlerstand = self.window.spin_box_eingabe.value()
abrechnung = Abrechnung.eingabe_zaehlerstand(eingegebener_zaehlerstand)
self.window.arbeitspreis_netto.setText(f"{abrechnung.arbeitspreis_netto:.2f} €")
self.window.arbeitspreis_brutto.setText(
f"{abrechnung.arbeitspreis_brutto:.2f} €"
)
self.window.grundpreis_netto.setText(
f"{abrechnung.grundpreis_tagesgenau_netto:.2f} €"
)
self.window.grundpreis_brutto.setText(
f"{abrechnung.grundpreis_tagesgenau_brutto:.2f} €"
)
self.window.gesamtpreis_netto.setText(f"{abrechnung.gesamtbetrag_netto:.2f} €")
self.window.gesamtpreis_brutto.setText(
f"{abrechnung.gesamtbetrag_brutto:.2f} €"
)
self.window.abschlag_bis_jetzt.setText(
f"{abrechnung.bisheriger_gezahlter_abschlag:.2f} €"
)
self.window.abschlag_ende_des_jahres.setText(
f"{abrechnung.abschlag_ende_des_jahres:.2f} €"
)
self.window.gp_abz_abschlag_bj.setText(
f"{abrechnung.aktuelle_kosten_abz_bisheriger_abschlag:.2f} €"
)
self.window.gp_abz_abschlag_ej.setText(
f"{abrechnung.aktuelle_kosten_abz_bisheriger_abschlag_ende_des_jahres:.2f}"
)
def main():
app = QApplication(sys.argv)
verbrauchsrechner = Verbrauchsrechner()
verbrauchsrechner.window.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()