BMI-Rechner: Rechnen und Eingabe

Fragen zu Tkinter.
Antworten
marenitaet
User
Beiträge: 1
Registriert: Sonntag 24. März 2019, 20:35

Ich habe als Anfänger-Übung einen BMI Rechner gebaut. Nun möchte ich eine GUI dazu erstellen.
Mein Problem ist, dass ich einen Button erstellt habe (berechnenb) und wenn man auf diesen Klicks, soll er die Eingaben übernehmen und zu #Rechnen springen. Wie bekomm ich das hin?
(Der berechnenb ist noch auskommentiert, bis dahin läuft das Programm super)

Code: Alles auswählen

from tkinter import *

#Fenster erstellen & benennen
fenster = Tk()
fenster.title("BMI-Rechner")

#Buttons
exitb = Button(fenster, text="Beenden", command=fenster.quit)
#berechnenb = Button(fenster, text="Berechnen", command=rechnen)

#Eingabezeilen
Geschlecht = Entry(fenster)
Gewicht = Entry(fenster)
Groesse = Entry(fenster)

#Anzeige Fenster1
Label(fenster, text="Wenn du männlich bist, tippe eine 1 ein, wenn du weiblich bist, dann eine 2!").grid(row=0, column=0)
Geschlecht.grid(row=1, column=0, pady = 10)
Label(fenster, text="Gib dein Gewicht in kg an").grid(row=2, column=0)
Gewicht.grid(row=3, column=0, pady = 10)
Label(fenster, text="Gib deine Größe in cm an").grid(row=4, column=0)
Groesse.grid(row=5, column=0, pady = 10)
exitb.grid(row=6, column=1)
#berechnenb.grid(row=6, column=0) 

#Eingaben
def Geschlecht():
	float(eingabe.get)
	
def Gewicht():
	float(eingabe.get)
	
def Groesse():
	float(eingabe.get)

fenster.mainloop()
	
#Rechnen
def rechnen():
	if Geschlecht==1:
		u=19
		o=24
	else:
		u=20
		o=25

BMI=(Gewicht/(1.0*Groesse*Groesse))*10000

if BMI<u:
    print("Dein BMI ist " + str(BMI) + ". Damit bist du untergewichtig!")

elif BMI>o:
    print("Dein BMI ist " + str(BMI) + ". Damit bist du übergewichtig!")

else:
    print("Dein BMI ist " + str(BMI) + ". Damit bist du normalgewichtig!")

__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du hast mehrere Probleme in deinem Code:

- du vergibst Namen wie “Geschlecht” zweimal. Und verlierst so die Möglichkeit, auf das ursprüngliche Objekt zuzugreifen.
- den Wert eines entries holt man sich mit get - aber du musst es auch aufrufen. ein_entry.get() - man beachte die Klammern.
- deine Berechnung erfolgt in Code der nie erreicht wird. Du musst eine Funktion schreiben, die du dann mit einem button als ein Kommando ausführen lässt.
Antworten