Löschen und WIedererstellen von Widgets
Verfasst: Freitag 4. September 2009, 18:19
Also ich bin noch bei meinem Adressbuchprogramm.
Wenn ich hier newentry() ausführe erstellt er erstmal alles wunderbar. Auch beim anschließenden ausführen von search() werden die widgets gelöscht. Wenn ich dann allerdings wieder die W. mit newentry() erstellen will kommt folgender Fehler:
Was mir jetzt noch einfällt das mit dem Layoutmanager. Ich wurde ja darauf hingewiesen place() nicht zu benutzen. Allerdings finde ich keine günstige Alternative. Mit pack() bekommt man ja kaum Struktur außer das die Widgets an irgendeiner Seite kleben. Auch mit grid() ist es schwierig da man sie nur sehr ungenau platzieren kann... Programme sind doch überall so sauber aufgebaut und alles da wo es hinsoll? Kann mir da jemand ein Tipp geben?
Danke schonmal!
Code: Alles auswählen
def search():
input = entry_suche.get()
werte = (input, )
sql = "SELECT * FROM adressen WHERE vorname = (?)"
cursor.execute(sql, werte)
search_result = cursor.fetchall()
try:
label_vorname.destroy()
entry_vorname.destroy()
label_nachname.destroy()
entry_nachname.destroy()
label_telefon.destroy()
entry_telefon.destroy()
except:
pass
listbox_results = Listbox(window, selectmode=SINGLE)
listbox_results.place(x=400, y=350, anchor="center")
def newentry():
countentry()
try:
listbox_results.destroy()
except:
pass
label_vorname.place(x=370, y=250, anchor="e")
entry_vorname.place(x=370, y=250, anchor="w")
label_nachname.place(x=370, y=300, anchor="e")
entry_nachname.place(x=370, y=300, anchor="w")
label_telefon.place(x=370, y=350, anchor="e")
entry_telefon.place(x=370, y=350, anchor="w")
button_entry.place(x=400, y=410, anchor="center")
Code: Alles auswählen
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1406, in __call__
return self.func(*args)
File "addyBs.py", line 53, in newentry
label_vorname.place(x=370, y=250, anchor="e")
File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1819, in place_configure
+ self._options(cnf, kw))
TclError: bad window path name ".136373324"
Danke schonmal!