ich hab meine erste GUI mit TkInter erstellt, so zum üben einen einfachen Pivotrechner für den Aktienmarkt,
den es zwar überall gibt, aber darum geht es ja nicht. Der soll zudem noch erweitert werden... dennoch, ich bin erst sehr kurz dabei
und finde den Rechner bis hierhin nicht schlecht.
Allerdings bin ich auf eine Hürde gestossen, ich hab das ganze per grid eingeteilt, als nächstes versuche ich mal etwas mit frames,
aber jetzt erstmal grid.
Meine Eingabefelder in column1 sind mir zu breit, ich hab versucht, das mit columnspan einzustellen, aber vermutlich
nicht richtig (Zeile 45-49). In die Eingabefelder kommen nur 4-stellige Zahlen und die Ausgabe ab row6 geben auch nur 4-stellig zurück, evtl.
änder ich das noch in 2 Nachkommastellen, die sind aber dennoch viel zu breit.
Wo liegt mein Fehler? Hier mal das komplette script, vielleicht kann ja mal jemand draufschauen:
Code: Alles auswählen
import Tkinter
def ende():
main.destroy()
# Funktion zum Berechnen
def pivot():
eingabe = e.get()
eingabe1 = e1.get()
eingabe2 = e2.get()
eingabe3 = e3.get()
eingabe4 = e4.get()
try:
zahl = int(eingabe)
zahl1 = int(eingabe1)
zahl2 = int(eingabe2)
zahl3 = int(eingabe3)
zahl4 = int(eingabe4)
#Berechnung Pivotpunkte
lb["text"] = " ""Pivot:" + str((zahl1 + zahl2 + zahl3)/3)
lb6["text"] = " ""R1: " + str(((((zahl1 + zahl2 + zahl3)/3)+(zahl1 + zahl2 + zahl3)/3)-zahl2))
lb7["text"] = " ""R2: " + str(((zahl1 + zahl2 + zahl3)/3)+(zahl1-zahl2))
lb8["text"] = " ""R3: " + str(((((zahl1 + zahl2 + zahl3)/3)-zahl2)*2)+zahl1)
lb9["text"] = " ""S1: " + str((((zahl1 + zahl2 + zahl3)/3)+(zahl1 + zahl2 + zahl3)/3)-zahl1)
lb10["text"] = " ""S2: " + str(((zahl1 + zahl2 + zahl3)/3)-(zahl1-zahl2))
lb11["text"] = " ""S3: " + str(((((zahl1+zahl2+zahl3)/3)-zahl1)*2)+zahl2)
except:
lb["text"] = "Eingabe pruefen"
main = Tkinter.Tk()
# Anordnung der Vorgabefelder
lb1 = Tkinter.Label(main, text="Open").grid(row=0)
lb2 = Tkinter.Label(main, text="High").grid(row=1)
lb3 = Tkinter.Label(main, text="Low").grid(row=2)
lb4 = Tkinter.Label(main, text="Close").grid(row=3)
lb5 = Tkinter.Label(main, text="Open heute").grid(row=4)
e = Tkinter.Entry(main)
e1 = Tkinter.Entry(main)
e2 = Tkinter.Entry(main)
e3 = Tkinter.Entry(main)
e4 = Tkinter.Entry(main)
e.grid(row=0, column=1, columnspan=2,)
e1.grid(row=1, column=1, columnspan=2)
e2.grid(row=2, column=1, columnspan=2)
e3.grid(row=3, column=1, columnspan=2)
e4.grid(row=4, column=1, columnspan=2)
# Button zur Berechnung und Ausgabe
bpivot = Tkinter.Button(main,
text = "Berechnen", command = pivot)
bpivot.grid(row=15, column=2)
# Anordnung der Vorgabefelder Pivotpunkte
lb = Tkinter.Label(main, text = "")
lb.grid(row=5, column=0)
lb = Tkinter.Label(main, text = "Pivot:")
lb.grid(row=6, column=0)
lb6 = Tkinter.Label(main, text = "R1 :")
lb6.grid(row=7, column=0)
lb7 = Tkinter.Label(main, text = "R2 :")
lb7.grid(row=8, column=0)
lb8 = Tkinter.Label(main, text = "R3 :")
lb8.grid(row=9, column=0)
lb9 = Tkinter.Label(main, text = "S1 :")
lb9.grid(row=10, column=0)
lb10 = Tkinter.Label(main, text = "S2 :")
lb10.grid(row=11, column=0)
lb11 = Tkinter.Label(main, text = "S3 :")
lb11.grid(row=12, column=0)
bende = Tkinter.Button(main, text = "Ende",
command = ende)
bende.grid(row=15, column=3)
main.mainloop()
Holger