Ich bin Python-Anfänger und habe ein Problem mit meinen Radiobuttons. Ich weiß nicht was ich falsch mache, ich kann durch diese Buttons keine Eingrezung in meinem Programm bekommen, sodass ich durch If-Anweisungen verschiedene Rechnung durchführen kann. Ich hoffe auf Hilfe von euch! Danke.
Hier der Quelltext.
Code: Alles auswählen
from tkinter import *
# Das Hauptfenster
Hauptfenster = Tk()
Hauptfenster.title("Schneelasten - Rechner")
v = IntVar()
value = IntVar()
x = IntVar()
sk = float()
# Zeile 0: Die Grafik wird in das Hauptfenster geladen und positioniert.
bild = PhotoImage(file = "Zonen.gif")
Label(image = bild).grid(row = 0, column = 0, columnspan = 3)
# Zeile 1: Auswahl der Schneelastzone
Label(Hauptfenster,
text="Schneelastzone :",).grid(row = 1, column = 0, sticky = "e")
Radiobutton(Hauptfenster,
text="Zone 1",
variable=v,
value=1).grid(row = 1, column = 1, sticky = "w")
Radiobutton(Hauptfenster,
text="Zone 1a",
variable=v,
value=2).grid(row = 1, column = 1, sticky = "e")
Radiobutton(Hauptfenster,
text="Zone 2",
variable=v,
value=3).grid(row = 2, column = 1, sticky = "w")
Radiobutton(Hauptfenster,
text="Zone 2a",
variable=v,
value=4).grid(row = 2, column = 1, sticky = "e")
Radiobutton(Hauptfenster,
text="Zone 3",
variable=v,
value=5).grid(row = 3, column = 1, sticky = "w")
# Zeile 2: Eingabe von der Höhe über dem Meeresspiegel
Label(text = "Höhe über dem Meeresspiegel :").grid(row = 4, column = 0, sticky = "e")
Meeresspiegel = Entry(width = 10)
Meeresspiegel.grid(row = 4, column = 1, sticky = "we")
Label(text = " in m").grid(row = 4, column = 2, sticky = "w")
# Zeile 3: Eingabe der Dachneigung
Label(text = "Dachneigung :").grid(row = 5, column = 0, sticky = "e")
Dachneigung = Entry(width = 10)
Dachneigung.grid(row = 5, column = 1, sticky = "we")
Label(text = " in °").grid(row = 5, column = 2, sticky = "w")
# Zeile 4: Abfrage zum Schneefanggitter
Label(text = "Schneefanggitter ?").grid(row = 6, column = 0, sticky = "e")
Radiobutton(Hauptfenster,
text="Ja",
variable=x,
value=1).grid(row = 6, column = 1, sticky = "w")
Radiobutton(Hauptfenster,
text="Nein",
variable=x,
value=2).grid(row = 6, column = 1, sticky = "e")
# Die Funktion für den Knopf "berechnen!"
def berechnen():
# Eingabe
Zone = int(value.get())
ms = float(Meeresspiegel.get())
dn = float(Dachneigung.get())
SF = float(x.get())
# Verarbeitung
if value==1 and ms<=400:
sk=0.65
elif value==1 and ms>=400:
sk = 0.19+0.91*((ms+140)/760)**2
elif value==2 and ms<=400:
sk = 0.81
elif value==2 and ms>=400:
sk = (0.19+0.91*((ms+140)/760)**2)*1.25
elif value==3 and ms<=285:
sk = 0.85
elif value==3 and ms>=285:
sk = 0.25+1.91*((ms+140)/760)**2
elif value==4 and ms<=285:
sk = 1.06
elif value==4 and ms>=285:
sk = (0.25+1.91*((ms+140)/760)**2)*1.25
elif value==5 and ms<=255:
sk = 1.1
else: value==5 and ms>=255
sk = 0.31+2.91*((ms+140)/760)**2
# Ausgabe
LA.config(text = "Zu erwartende Schneelast = %.2f kN/m²"%sk)
# Zeile 4: Der Knopf "berechnen!"
b1 = Button(text = "berechnen!", command = berechnen)
b1.grid(row = 7, column = 1, columnspan = 1, sticky = "nsew")
# Zeile 5: Ausgabe von A
LA = Label()
LA.grid(row = 8, column = 1, sticky = "w")
Hauptfenster.mainloop()