Seite 1 von 1

Text, aus eingabefeld speichern

Verfasst: Samstag 6. September 2008, 12:37
von Teabag
Hallo Leute,
Ich habe ein Problem,
Ich will ein Eingabefeld machen, und dass wenn man auf den
Button drückt der Inhalt des Eingabefensters in
eine Variable gespeichert wird.

hier mein code:

Code: Alles auswählen

root = Tk()
lab = Label(root,text = "Passwort:")
lab.pack(side = LEFT)

eingabe = Entry(root)
eingabe.pack(side = LEFT)

def senden():
    root.destroy()

but = Button(root, text = "senden", command = senden)
but.pack(side = RIGHT)

root.mainloop()
wie kann ich das machen??
schon mal vielen Dank :-)

liebe grüße

teabag

Verfasst: Samstag 6. September 2008, 13:22
von numerix
Zunächst einmal solltest du den Sternchenimport von Tkinter abstellen (import-Zeile fehlt zwar, aber irgendwo dürfte das Sternchen wohl stehen ...).

Entry-Widgets haben eine Methode get(), mit der du den Inhalt abrufen und dann z.B. auch in einer Variablen ablegen kannst.

Verfasst: Freitag 19. September 2008, 18:25
von sea-live
für entry hab ich folgenden guten link endekt der das ausfühlich behandelt
http://effbot.org/tkinterbook/entry.htm

Verfasst: Samstag 20. September 2008, 00:08
von wuf
Hallo Teabag

Hier noch den angepassten Code mit einbezug der von 'numerix' vorgeschlagenen entry.get() Methode:

Code: Alles auswählen

#~~ Abgeleitet von:
#   Verfasser 'Teabag' am Sa Sep 06, 2008 13:37
#   http://www.python-forum.de/topic-15953.html
#   Ergaenzt durch 'wuf' (Skriptname read_entry_text_01.py)

import Tkinter as tk

# def senden():
#     root.destroy()

def main():
    root = tk.Tk()

    def senden():
        my_entry = eingabe.get()
        print "Meine Eingabe:",my_entry
        root.destroy()

    lab = tk.Label(root,text = "Passwort:")
    lab.pack(side = tk.LEFT)

    eingabe = tk.Entry(root)
    eingabe.pack(side = tk.LEFT)

    but = tk.Button(root, text = "senden", command = senden)
    but.pack(side = tk.RIGHT)

    root.mainloop()

if __name__ == "__main__":
    main()
Gruss wuf :wink:

Verfasst: Samstag 20. September 2008, 18:26
von abgdf
... ist doch irgendwie das, was man mit JEDEM Entry-Widget machen will.

Verfasst: Samstag 20. September 2008, 19:52
von sea-live
du kanst das senden mit einem Rückgabewert RETURN my_entry abschlisen
und eine andere klasse ruft dann diese funktion auf
ZB eingabe = class.senden()

damit hat dan deine varible vorort den wert des eingabefeldes