Hi, wahrscheinlich war die Frage zu allgemein definiert. Also noch mal. Folgende Fehlermeldung erscheint beim Drücken des Button. Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.3/lib-tk/Tkinter.py", line 1345, in __call__ return self.func(*args) File "entry.py", line 8, in textinfeldeintragen root.eingabe.insert(0,"text") AttributeError: 'NoneType' object has no attribute 'insert' Für mich sind die beiden Versionen nicht wesentlich unterschiedlich. Aber anscheinend wird bei der Version 2 die Objektvariable für root.eingabe nicht initialisiert. Warum? Habe schon im IRC nachgefragt. Aber auch der Hinweis. "root.eingabe.grid" hinzuzufügen funktionierte nicht. Ansonsten kam noch der Beitrag "Dein Code ist Müll". Das half mir erst recht nicht weiter. Gruß UE ---------------------- #!python from Tkinter import * root=Tk() def textinfeldeintragen(): root.eingabe.insert(0,"text") # Version 1 läuft #root.eingabe=Entry(root,width=50) #root.eingabe.pack() #root.knopf=Button(root,text="Eintragen",command=textinfeldeintragen) #root.knopf.pack() #Version 2 läuft nicht. root.eingabe=Entry(root).grid(row=1,column=1) root.knopf=Button(root,text="Eintragen",command=textinfeldeintragen).grid(row=1,column=2) mainloop() -------------- _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
#Version 2 läuft nicht. root.eingabe=Entry(root).grid(row=1,column=1)
Das kann ja auch nicht klappen: Entry() ist das Textfeld, auf dem du dann grid() aufrufst - aber das gibt halt None zurück. Und weist kannst du dann root.eingabe zu. Was den Fehler erklärt. root.eingabe=Entry(root) root.eingabe.grid(row=1,column=1) sollte klappen. Diez _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
Hi, vielen,vielen Dank, jetzt klappt es tatsächlich. Kleiner Fehler große Wirkung. Gruß Uwe Eggert Am Mittwoch, 2. März 2005 18:59 schrieb Diez B. Roggisch:
#Version 2 läuft nicht. root.eingabe=Entry(root).grid(row=1,column=1)
Das kann ja auch nicht klappen: Entry() ist das Textfeld, auf dem du dann grid() aufrufst - aber das gibt halt None zurück. Und weist kannst du dann root.eingabe zu. Was den Fehler erklärt.
root.eingabe=Entry(root) root.eingabe.grid(row=1,column=1)
sollte klappen.
Diez
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (2)
-
Diez B. Roggisch -
Uwe Eggert