Seite 1 von 1

Daten aus Entry einlesen

Verfasst: Dienstag 7. Juli 2009, 18:52
von moodsx
Hallo Community,

beschäftige mich zur Zeit mal wieder intensiver mit python und versuche mich mal ein bischen an TK.

Ich versuche mal eben die Eingabe von einem "Entry" Feld einzulesen, was mir aber leider nicht gelingt.

Code: Alles auswählen

def sieben(self):
        self.eingabe = self.eingabe.get()+'7'
#Die Funktion gehört zu einem Button der in das Feld "self.eingabe" die 7 hinzufügen soll, so der Plan jedenfalls

self.sieben = Tkinter.Button(main, text = "7", command = self.sieben)
        self.sieben.place(x=1, y=25, anchor="nw")
        self.sieben["width"] = 2
        self.sieben["height"] = 2

self.eingabe = Tkinter.Entry(main)
        self.eingabe["background"] = "#FFFFFF"
        self.eingabe["width"] = 100
        self.eingabe.place(x=0, y=1, anchor="nw")


Fehler:

AttributeError: 'str' object has no attribute 'get'

Wäre nett von Euch wenn mir dazu jemand mal auf die Sprünge helfen könnte. Dickes Danke und verzeiht mir meine Anfängerfrage!

Re: Daten aus Entry einlesen

Verfasst: Dienstag 7. Juli 2009, 19:18
von numerix
Hallo moodsx, willkommen im Forum!

Dein Quelltext enthält an mehreren Stellen Dinge, die deutlich machen, dass du ganz Grundlegendes (unabhängig von Tkinter) noch nicht verstanden hast. Darum meine dringende Empfehlung: Nimm dir das Tutorial vor (gibt ja mittlerweile auch eine ziemlich weit gediehene deutsche Übersetzung) und arbeite es mal gründlich durch.

Und in ein paar Wochen nimmst du dir nochmal Tkinter vor.

Verfasst: Dienstag 7. Juli 2009, 19:20
von EyDu
Nach dem ersten Aufruf von "sieben" ist "self.eingabe" ein String, dieser hat natürlich keine get-Funktion mehr. Du darfst also keine Zuweisung an "self.eingabe" machen:

http://effbot.org/tkinterbook/entry.htm.

Verfasst: Dienstag 7. Juli 2009, 19:21
von krisi12345
Frage:
Hast du überhaupt die Klasse und das Fenster defeniert/erzeugt, wenn ja warum postest du das nicht?
Und versuche es mal so:
eingabeget = eingabe.get()
eingabeget + "7"

Verfasst: Dienstag 7. Juli 2009, 20:03
von moodsx
Ja das Fenster hab ich ja alles soweit.

Bin auch eben dahinter gekommen was ich falsch mache.

eingabe.get() # zum holen des Inhalts
eingabe.insert() # zum neu reinpinseln

Das wars was ich gesucht hatte.

ABER: Wo zum Geier find ich die Doku für "insert". Ich komm da mit den zu übergebenen Parametern noch nicht ganz klar.

Ich hatte den ganzen Quatsch mit class und so weiter nicht posten wollen da das doch schon bischen viel code ist und ich wollt das nicht so zu spammen so das Ihr ganet mehr durchseht. Deswegen hatte ich extra mit "self" geschrieben das Ihr seht das es alles in einer class geschrieben steht. Hätt ich aber auch noch dazu pinseln können. Sorry

Verfasst: Dienstag 7. Juli 2009, 20:24
von busfahrer
@moodsx:Hier mal ein kleines Beispiel

Code: Alles auswählen

import Tkinter as tk

root = tk.Tk()
entry = tk.Entry(root, bg ="red", fg= "blue")
entry.grid()
entry.insert(tk.END, "Hallo moodsx")
entry.insert(6, "User ")
Zum lesen gibts unter anderem http://infohost.nmt.edu/tcc/help/pubs/t ... entry.html ,http://www.wspiegel.de/tkinter/tkinter02.htm, http://home.foni.net/~heikos/tkinter/index.html

Gruß...busfahrer