@Goyo hat bereits Ihre Frage beantwortet. Ich möchte meinen Beitrag teilen, da ich kein Interesse daran sehe, den Text des Eintrags-Widget-Textes auszuwählen und nichts anderes damit zu tun. So werde ich Ihnen eine schmutzige MCVE zur Verfügung stellen, um zu zeigen, wie Sie den ausgewählten Text verwenden: a) entweder Sie löschen es oder b) Sie werden es kopieren.
Für a), die folgende Funktion wird die Arbeit machen:
def select_text_or_select_and_copy_text(e):
e.widget.select_range(0, 'end')
Es wird unter der Bedingung arbeiten Sie die entsprechenden Ereignisse, die von der Funktion der Name für den Eintrag Widget beschrieben binden:
entry.bind('<Control-a>', select_text_or_select_and_copy_text)
entry.bind('<Control-c>', select_text_or_select_and_copy_text)
Für b), können Sie diese Funktion verwenden:
def delete_text(e):
e.widget.delete('0', 'end')
und binden das Delete
Ereignis zum Eintrag widget:
entry.bind('<Delete>', delete_text)
ich diesen MCVE anprobiert Ubuntu und es funktioniert:
import tkinter as tk
import tkinter.ttk as ttk
def select_text_or_select_and_copy_text(e):
e.widget.select_range(0, 'end')
def delete_text(e):
e.widget.delete('0', 'end')
root = tk.Tk()
entry = ttk.Entry(root)
entry.pack()
entry.bind('<Control-a>', select_text_or_select_and_copy_text)
entry.bind('<Control-c>', select_text_or_select_and_copy_text)
entry.bind('<Delete>', delete_text)
root.mainloop()
eher '' (getestet auf Ubuntu) –
@ BillalBEGUERADJ Ich vermute cmd + a ist für Mac. '' und '' scheinen in Windows genauso zu funktionieren, aber ich bin nicht sicher, wie es in Mac funktioniert. Ratschläge in den Interwebs schlagen vor, '' zu verwenden. –
Goyo
Sie haben Recht, es kann der Fall sein. –