Daten aus Entry einlesen

Fragen zu Tkinter.
Antworten
moodsx
User
Beiträge: 4
Registriert: Sonntag 11. Mai 2008, 12:39

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!
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
Das Leben ist wie ein Tennisball.
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

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"
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
moodsx
User
Beiträge: 4
Registriert: Sonntag 11. Mai 2008, 12:39

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
busfahrer
User
Beiträge: 111
Registriert: Donnerstag 9. Oktober 2008, 17:42

@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
Alles wird gut ;-)
Antworten