Untitled

mail@pastecode.io avatar
unknown
python
2 years ago
4.4 kB
4
Indexable
Never
import tkinter as tk

def umrechnen():
    ewert = float(e1.get())
    # von Euro
    if eingabe.get() == "Euro" and ausgabe.get() == "US-$":
        wert = ewert * 1.10
    elif eingabe.get() == "Euro" and ausgabe.get() == "Euro":
        wert = ewert * 1
    elif eingabe.get() == "Euro" and ausgabe.get() == "Yen":
        wert = ewert * 146.67
    elif eingabe.get() == "Euro" and ausgabe.get() == "Franken":
        wert = ewert * 0.98
    # von US-$
    elif eingabe.get() == "US-$" and ausgabe.get() == "US-$":
        wert = ewert * 1
    elif eingabe.get() == "US-$" and ausgabe.get() == "Euro":
        wert = ewert * 0.91
    elif eingabe.get() == "US-$" and ausgabe.get() == "Yen":
        wert = ewert * 133.9
    elif eingabe.get() == "US-$" and ausgabe.get() == "Franken":
        wert = ewert * 0.90
    # von Yen
    elif eingabe.get() == "Yen" and ausgabe.get() == "US-$":
        wert = ewert * 0.0075
    elif eingabe.get() == "Yen" and ausgabe.get() == "Euro":
        wert = ewert * 0.0068
    elif eingabe.get() == "Yen" and ausgabe.get() == "Yen":
        wert = ewert * 1
    elif eingabe.get() == "Yen" and ausgabe.get() == "Franken":
        wert = ewert * 0.0067
    #von Franken
    elif eingabe.get() == "Franken" and ausgabe.get() == "US-$":
        wert = ewert * 1.11
    elif eingabe.get() == "Franken" and ausgabe.get() == "Euro":
        wert = ewert * 1.02
    elif eingabe.get() == "Franken" and ausgabe.get() == "Yen":
        wert = ewert * 149.74
    elif eingabe.get() == "Franken" and ausgabe.get() == "Franken":
        wert = ewert * 1
    
    ergebnis.set(round(wert,2))

def change():
    r5.configure(state="normal")
    r7.configure(state="normal")
    r6.configure(state="normal")
    r8.configure(state="normal")
    if eingabe.get() == "Euro":
        l3.configure(text=eingabe.get())
        r6.configure(state="disabled")
        r5.invoke()
    elif eingabe.get() == "US-$":
        l3.configure(text=eingabe.get())
        r5.configure(state="disabled")
        r6.invoke()
    elif eingabe.get() == "Yen":
        l3.configure(text=eingabe.get())
        r7.configure(state="disabled")
        r5.invoke()
    elif eingabe.get() == "Franken":
        l3.configure(text=eingabe.get())
        r8.configure(state="disabled")
        r5.invoke()


# Hauptfenster

root = tk.Tk()
root.title("GUI")
#root.maxsize(450,190)
#root.minsize(450,190)

eingabe = tk.StringVar()
ausgabe = tk.StringVar()
ergebnis = tk.StringVar()

# Frame

f1 = tk.Frame(root)
f1.grid(row=0,column=0,padx=5,pady=5)

f2 = tk.Frame(root)
f2.grid(row=0,column=2,padx=5,pady=5)

f3 = tk.Frame(root)
f3.grid(row=1,column=1,padx=5,pady=5)

# label
l1 = tk.Label(f1,text="Eingabe:")
l1.grid(row=0,column=0,sticky=tk.W)

l2 = tk.Label(f2,text="Ausgabe:")
l2.grid(row=0,column=0,sticky=tk.W)

l3 = tk.Label(f1,text=eingabe.get(),width=6)
l3.grid(row=1,column=1,sticky=tk.W)

l4 = tk.Label(f2,text=ausgabe.get(),width=6)
l4.grid(row=1,column=1,sticky=tk.W)

# Entry
e1 = tk.Entry(f1)
e1.grid(row=1,column=0,sticky=tk.W)

e2 = tk.Entry(f2,textvariable=ergebnis)
e2.grid(row=1,column=0,sticky=tk.W)

# Radiobutton
r1 = tk.Radiobutton(f1,text="Euro",value="Euro",variable=eingabe,command=lambda: change())
r1.grid(row=2,column=0,sticky=tk.W)

r2 = tk.Radiobutton(f1,text="US-$",value="US-$",variable=eingabe,command=lambda: change())
r2.grid(row=3,column=0,sticky=tk.W)

r3 = tk.Radiobutton(f1,text="Yen",value="Yen",variable=eingabe,command=lambda: change())
r3.grid(row=4,column=0,sticky=tk.W)

r4 = tk.Radiobutton(f1,text="Franken",value="Franken",variable=eingabe,command=lambda: change())
r4.grid(row=5,column=0,sticky=tk.W)

r5 = tk.Radiobutton(f2,text="US-$",value="US-$",variable=ausgabe,command=lambda: l4.configure(text=ausgabe.get()))
r5.grid(row=2,column=0,sticky=tk.W)

r6 = tk.Radiobutton(f2,text="Euro",value="Euro",variable=ausgabe,command=lambda: l4.configure(text=ausgabe.get()))
r6.grid(row=3,column=0,sticky=tk.W)

r7 = tk.Radiobutton(f2,text="Yen",value="Yen",variable=ausgabe,command=lambda: l4.configure(text=ausgabe.get()))
r7.grid(row=4,column=0,sticky=tk.W)

r8 = tk.Radiobutton(f2,text="Franken",value="Franken",variable=ausgabe,command=lambda: l4.configure(text=ausgabe.get()))
r8.grid(row=5,column=0,sticky=tk.W)

r1.invoke()
r5.invoke()

# Button
b1 = tk.Button(f3,text="Umrechnen",command=lambda: umrechnen())
b1.grid(row=0,column=0)

root.mainloop()