Seite 1 von 1

Befehlseingabe über Tasten in Tkinter

Verfasst: Montag 13. Januar 2020, 21:47
von Theodor
Hallo,
wie kann man zusätzlich zu den Eingaben mit der Maus auch Eingaben über eine Tastatur machen?
Ich habe folgendes gefunden:
#-------------------------------------------------------------------------------
def Taste(event):
char = repr(event.char)
anz_2 = Message(root_szp, text=("Taste = ")+char, width=250)
anz_2.place(x=100, y=575)
#-------------------------------------------------------------------------------
root.bind("<Key>", Taste)

Das funktioniert zwar, aber das Ergebnis etwa bei der Taste S lautet 'S'. Offiziell ist es ein char,
den ich aber nicht weiter verwerten kann, etwa über die Abfrage,
ob es ein "S" ist:
if char == 'S'
geht nicht.
Als Rückgabe etwa zur CTRL S erhält man '\x13'.

Ich möchte beispielsweise bei einem Menüaufruf statt mit der Maus auch einen Aufruf per Taste machen,
etwa so:
Öffnen CTRL S
Wer kann helfen?
Theodor

Re: Befehlseingabe über Tasten in Tkinter

Verfasst: Montag 13. Januar 2020, 22:18
von Sirius3
Dass Du 'S' bekommst, machst Du doch selbst, da Du `repr` benutzt. Ein `event` hat noch etliche weitere Nützliche Attribute, wie keysym oder state.
Tastenkürzel bindet man mit ihrem Name:

Code: Alles auswählen

root.bind_all("<Control-s>", save)

Re: Befehlseingabe über Tasten in Tkinter

Verfasst: Freitag 17. Januar 2020, 23:34
von Theodor
Hallo,
Danke für die Antwort. Muß es mal probieren.
Eine Frage habe ich aber: Woher weißt Du das? Wo gibt es Literatur oder sonstiges hierüber?
Auch über etliche andere Dinge wüßte ich Bescheid, man kann aber vieles nur schwer oder gar nicht finden.
Theodor

Re: Befehlseingabe über Tasten in Tkinter

Verfasst: Freitag 17. Januar 2020, 23:44
von __deets__
Steht alles in der offiziellen Dokumentation: https://effbot.org/tkinterbook/tkinter- ... ndings.htm

Sowohl wie die Bindung formatiert werden muss, als auch welche Attribute die Event Objekte haben.