tkinter problem

Fragen zu Tkinter.
Antworten
Benutzeravatar
Basti91
User
Beiträge: 53
Registriert: Samstag 15. Dezember 2007, 11:50
Wohnort: Saarland

Mittwoch 2. April 2008, 12:34

hallo, wie kann ich kenn das was der benutzter beim Befehl "Entry" (Tkinter) eingibt speichern sodass ich die Eingabe nachher in einem anderen Modul benutzen kann? Gibt es da sowas ähnliches wie "return"?

Edit (Leonidas): Verschoben.
Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

Mittwoch 2. April 2008, 13:35

Ohne jetzt schroff wirken zu wollen: Mach dich in Sachen objektorientierte Programmierung fit und verpacke den Dialog in eine Klasse. Dann kannst du von dieser Klasse Objekte erstellen und dem anderen Modul eine Referenz auf eines dieser Objekte mitteilen. Das kann dann z. B. den in einem Attribut gespeicherten Wert auslesen, oder eine Methode aufrufen, die den Wert zurückliefert (in dem sie das Entry ausliest). :D

Viel Spaß
Benutzeravatar
Basti91
User
Beiträge: 53
Registriert: Samstag 15. Dezember 2007, 11:50
Wohnort: Saarland

Mittwoch 2. April 2008, 13:55

Sorry aber hab noch nicht soviel erfahrung mit Tkinter also das Programm soll den ggT zweier Zahlen ausrechnen so sieht mein quelcode bis jetzt aus

Code: Alles auswählen

# importieren
from Tkinter import *


# Definitionsbereich
def ggt(a,b):
    r=a%b
    while r!=0:
        a=b
        b=r
        r=a%b
    return b
    

def beenden_menue():
    menue.destroy
def ggT_berechnung():
    from Tkinter import *
    
    z1 = int(zahl1)
    z2 = int(zahl2)
    ggt(z1,z2)
    antwort= Tk()
    ergebnis = Label(antwort,text= b )
    ergebnis.pack()
    antwort.mainloop()

def einlesen():
    from Tkinter import *
    einlesen=Tk()
    zahl1 = Entry(einlesen)
    zahl1.pack()
    zahl1.get()
    #
    zahl2 = Entry(einlesen)
    zahl2.pack()
    zahl2.get()
    #
    ende = Button(einlesen,text= "ggT der Zahlen berechnen!", command= ggT_berechnung)
    ende.pack()
    einlesen.mainloop()

    
        
    

    
    
    

# Hauptprogramm

menue =Tk()

# Ende button
ende= Button(menue,text="Beenden",command= beenden_menue)
ende.pack()
# ggt1
ggt1 = Button(menue,text="ggT zweier Zahlen berechnen",command = einlesen)
ggt1.pack()
#
menue.mainloop()
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Mittwoch 2. April 2008, 14:07

Wenn ich deinen Quelltext sehe, wird mir schlecht.

Ich behaupte einfach mal, dass für dich der Zeitpunkt, mit einer GUI anzufangen, noch nicht gekommen ist.
Dein Code macht überdeutlich, dass du grundlegendste Grundlagen von Tkinter noch nicht verstanden hast.
Mit ein paar Tipps, um an den Symptomen herumzudoktern, ist dir nicht wirklich geholfen.

Warum darf es denn für den Anfang kein Konsolenprogramm sein? Weil der Lehrer es so will?
WENN der Lehrer es so will, dann wird er euch doch sicher auch irgendwann einmal in irgendeiner Form erklärt haben, wie der typische Aufbau / das Grundgerüst einer GUI auf Basis von Tkinter aussieht, oder nicht?
genders
User
Beiträge: 31
Registriert: Samstag 23. Februar 2008, 12:26
Wohnort: Innsbruck / Tirol / Österreich

Mittwoch 2. April 2008, 14:38

Ich kämpfe mich selbst auch mühsam durch die Grundlagen von Tkinter durch. Schau Dir F. Lundh: An Introduction to Tkinter, chapter 9: Dialog Windows http://www.pythonware.com/library/tkint ... /index.htm
und/oder such Dir mit google unter "shipman tkinter new mexico" Unterlagen.
Antworten