Problem mit ComboBox

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Kanaille
User
Beiträge: 3
Registriert: Samstag 4. April 2020, 14:56

Hallo Leute,

ich möchte mich in der Kurzarbeit mit Python auseinandersetzen.

Ich habe eine BeispielGUI erstellt, mit der ich Lohnsteuer berechnen will. Ganz simpel.

Ich kann den Wert berechnen und ausgeben lassen, aber das mit der ComboBox klappt nicht. Ich versuche gerade ganz einfach über print anzuzeigen, dass das Event ankommt. Also er soll mir erstmal nur der Index geben.

Könnt Ihr mir da weiterhelfen?

Code: Alles auswählen

import sys
from PyQt5 import QtCore, QtGui, QtWidgets


class Window(QtWidgets.QWidget):

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

        self.init_ui()

    def init_ui(self):
        self.label1 = QtWidgets.QLabel("Dein Lohn")
        self.le = QtWidgets.QLineEdit()
        self.label2 = QtWidgets.QLabel("Du bekommst")
        self.la = QtWidgets.QLineEdit()
        self.cb = QtWidgets.QComboBox()
        self.cb.addItems(["Klasse1", "Klasse2", "Klasse3"])
        self.b1 = QtWidgets.QPushButton('Clear')
        self.b2 = QtWidgets.QPushButton('Print')

        v_box = QtWidgets.QVBoxLayout()
        v_box.addWidget(self.cb)
        v_box.addWidget(self.label1)
        v_box.addWidget(self.le)
        v_box.addWidget(self.label2)
        v_box.addWidget(self.la)
        v_box.addWidget(self.b1)
        v_box.addWidget(self.b2)

        self.setLayout(v_box)
        self.setWindowTitle('berechne_Netto')
        self.b1.clicked.connect(self.btn_clk)
        self.b2.clicked.connect(self.btn_clk)
        self.cb.currentIndexChanged.connect(self.wechsel)

        self.show()

    def wechsel(self):
        index = int(self.cb.currentIndex())
        print("luluoululuul")
        print(index)

    def btn_clk(self):
        sender = self.sender()
        if sender.text() == 'Print':
            Lohn = int(self.le.text())
            print(Lohn)
            berechnet = Lohn * 0.54
            self.la.setText(str(berechnet))
        else:
            self.le.clear()
            self.la.clear()


app = QtWidgets.QApplication(sys.argv)
a_window = Window()
sys.exit(app.exec_())

Antworten