Inhalt eines Eingabefelds löschen, wenn Focus

Fragen zu Tkinter.
Antworten
Ferox
User
Beiträge: 48
Registriert: Dienstag 14. März 2006, 16:34

Hallo erstmal :D

Wie kann man den Inhalt eines Eingabefeldes löschen, wenn dieses (zum ersten mal) den Fokus bekommt?

(Ich meine das ungefähr so, wie das Such-Eingabefeld bei Firefox, indem erst der Name der Suchmaschine drinsteht, bis man es aktiviert)

mfg
BlackJack

Das ginge zum Beispiel so:

Code: Alles auswählen

import Tkinter as tk


class MyEntry(tk.Entry):
    def __init__(self, *args, **kwargs):
        tk.Entry.__init__(self, *args, **kwargs)
        self._first_enter_id = self.bind('<FocusIn>', self.on_first_enter)
    
    def on_first_enter(self, event):
        self.delete(0, tk.END)
        self.unbind('<FocusIn>', self._first_enter_id)


def main():
    root = tk.Tk()
    my_entry = MyEntry(root)
    my_entry.insert(0, 'Exalead')
    my_entry.pack()
    button = tk.Button(root, text='Suche')
    button.pack()
    tk.mainloop()
Ferox
User
Beiträge: 48
Registriert: Dienstag 14. März 2006, 16:34

Dankeschön=)
Antworten