Seite 1 von 1

Entry Felder verrücken

Verfasst: Samstag 15. März 2008, 11:09
von nightm4r3^
High all

irgendwie hat mir niemand eine Wirklich schlüssige antwort bei meinem letzten Post gegeben. Deshalb hier nochmal ein neues Thema. Ich würde gerne bei einem Bruchrechner die Entry-Felder wie bei einem Bruch anzeigen lassen, sprich Zähler, unten drunter Nenner, dann ein Plus in die Mitte und das gleiche nochmal hinter dem Plus.

Code: Alles auswählen

#Nebenfenster
    fenster6=tk.Toplevel()
    fenster6.geometry('400x300')
#Label im Nebenfenster
    fenster6.label=tk.Label(fenster6,text='Brüche addieren', font=('Verdana',16,'bold'))
    fenster6.label.pack()
#2.Label im Nebenfenster
    fenster6.label2=tk.Label(fenster6,text='Bitte geben Sie die Brüche ein')
    fenster6.label2.pack()
#Entry Feld 1
    z1=tk.Entry(fenster6)
    z1.grid(row=3,column=1)
    z1.get()
    z1.pack()
#Entry Feld 2
    n1=tk.Entry(fenster6)
    n1.grid(row=4,column=1)
    n1.get()
    n1.pack()
#Entry Feld 3
    z2=tk.Entry(fenster6)
    z2.grid(row=3, column=40)
    z2.get() 
    z2.pack()
#Entry Feld 4
    n2=tk.Entry(fenster6)
    n2.grid(row=4, column=40)
    n2.get()
    n2.pack()
So hab ichs von diversen Seiten erfahren, aber es funktioniert bei mir nicht. Weiß jemand Hilfe?

mfg nightm4r3^

Verfasst: Samstag 15. März 2008, 13:48
von numerix
Nimm dir mal einen Tag Zeit und arbeite das durch:

Tkinter Reference

Dann dürften alle deine Fragen beantwortet sein.

Verfasst: Samstag 15. März 2008, 14:33
von BlackJack
Ich glaube ich hatte schonmal gesagt, dass ich für die Brüche ein eigenes Widget schreiben würde, mit zwei `Entry`\s übereinander.

Verfasst: Sonntag 16. März 2008, 10:19
von nightm4r3^
Ja ich weiß Black Jack aber da ich bei Python noch relativ neu bin, würd ich lieber mal alles "manuell" machen, als das ich jetzt schon anfang mir meine Widgets selber zu programmieren.

Kann mir nicht mal jemand bei dem oben geposteten Programmcode den Fehler sagen?

Verfasst: Sonntag 16. März 2008, 10:50
von BlackJack
Du verwirrst Tk damit, dass Du die Widgets sowohl mit dem "grid"- als auch mit dem "pack"-Layout-Manager platzieren möchtest. Und den Sinn der `get()`-Aufrufe habe ich auch nicht so recht verstanden.

Verfasst: Sonntag 16. März 2008, 10:58
von nightm4r3^
das get() war noch vom anfang da. hat keine funktion. Ich hab jetzt das pack() bei allen feldern weggemacht und jetzt hängt sich mein programm auf. also nur wenn ich auf den Button zum Brüchaddieren klick. wodran liegt das jetzT?

Verfasst: Sonntag 16. März 2008, 11:16
von BlackJack
Vielleicht an irgend einem Fehler. Ist jetzt aber nur geraten. ;-)

Verfasst: Sonntag 16. März 2008, 11:21
von nightm4r3^
Ne echt^^ DAS hät ich net gedacht. Hier ist mal der Programmcode halt nur für das Brüche addieren.

Code: Alles auswählen

def aufgabe5():
#Nebenfenster
    fenster6=tk.Toplevel()
    fenster6.geometry('400x300')
#Label im Nebenfenster
    fenster6.label=tk.Label(fenster6,text='Brüche addieren', font=('Verdana',16,'bold'))
    fenster6.label.pack()
#2.Label im Nebenfenster
    fenster6.label2=tk.Label(fenster6,text='Bitte geben Sie die Brüche ein')
    fenster6.label2.pack()
#Entry Feld 1
    z1=tk.Entry(fenster6)
    z1.grid(row=3,column=1)
#Entry Feld 2
    n1=tk.Entry(fenster6)
    n1.grid(row=4,column=1)
#Entry Feld 3
    z2=tk.Entry(fenster6)
    z2.grid(row=3, column=4)
#Entry Feld 4
    n2=tk.Entry(fenster6)
    n2.grid(row=4, column=4)
#GGT Ausgabe
    def do_bra():
        fensterbra=tk.Toplevel()
        fensterbra.geometry('60x60')
        fensterbra.label=tk.Label(fensterbra, text=bruchrechneradd(int(z1.get()), int(n1.get()), int(z2.get()), int(n2.get())))
        fensterbra.label.pack()

#Button erstellen
    fenster6.button=tk.Button(fenster6,text='Bestätigen',
                           command=do_bra)
    fenster6.button.pack()
    
#Fenster anzeigen
    fenster6.mainloop()

Verfasst: Sonntag 16. März 2008, 12:55
von numerix
Das ist ja nicht der erste Thread, wo du mit deinem "Bruchrechner" kommst und es ist dir von mehreren schon dringend geraten worden, dass du dich zunächst mal gründlich mit der Materie selbst beschäftigst, statt immer nur an einzelnen Symptomen zu kurieren mit dem einzigen Ziel, es irgendwie ans Laufen zu bekommen.

Nach wie vor verwendest du zwei Geometriemanager gemischt in einem Frame - das geht nicht gut; wurde ja schon drauf hingewiesen, hast du aber immer noch nicht geändert.

Sehr empfehlen kann ich dir die Lektüre von Thinking in Tkinter.

Da werden zwar nur einige grundlegende Widgets behandelt und nur der pack-Geometriemanager, aber dafür geht es genau um das, was der Titel verheißt: "Tkinter thinking". Das wäre m.E. für dich genau das richtige.

Und wenn du das drauf hast, dann die "Tkinter Reference" - s.o.

Mach doch mal ein paar Tage Pause vom Bruchrechenprogramm, nimm dir Zeit, die Grundlagen WIRKLICH zu verstehen und dann brauchst du gar keine Hilfe mehr fürs Bruchrechenprogramm, weil du es alleine schaffst.