Löschen des Inhalts einer 'Entry'-zeile

Fragen zu Tkinter.
Antworten
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

Hallo,


Ich hänge gerade daran fest, das ich den Inhalt eines Entry-Objekts löschen will, bzw. komplett durch einen neuen ersetzen möchte.

Ich habe es hiermit versucht:

Code: Alles auswählen

def refresh_entry(self, new_text):
    self.testEntry.delete(0)
    self.testEntry.insert(END, new_text)

def refresh_entry2(self, new_text):
    self.testEntry.delete(0, last=-1)
    self.testEntry.insert(END, new_text)
leider funktionieren beide Varianten nicht, sondern es wird nur der neue Text angehängt.

Wie kann ich einfach den gesammten Inhalt löschen?


lg,
...



EDIT: Hat sich schon erledigt.

Funktioniert jetzt so:

Code: Alles auswählen

def refresh_entry(self, new_text):
    self.testEntry.delete(0, last=len(self.testEntry.get()))
    self.testEntry.insert(END, new_text)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Das genügt:

Code: Alles auswählen

entry.delete(0,"end")
entry.insert(0,"Neuer Inhalt")
Im übrigen würde ich empfehlen, auf den Sternchen-Import von Tkinter zu verzichten. Bewährt hat sich:

Code: Alles auswählen

import Tkinter as tk
Die Konstanten würden dann z.B. als tk.END angesprochen. Oder eben - wie im Beispiel oben - stattdessen Zeichenketten verwenden: "end".
Antworten