betrachten Lesen (http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm)
Sie Ihr Widget auf ein Ereignis an Ihre Funktion binden:
Keyboard-Ereignisse werden an das Widget gesendet, die derzeit die Fokus Tastatur besitzt. Sie können die focus_set Methode verwenden, um den Fokus auf ein Widget zu bewegen:
Capturing Tastaturereignisse
from Tkinter import *
root = Tk()
def key(event):
print "pressed", repr(event.char)
def callback(event):
frame.focus_set()
print "clicked at", event.x, event.y
frame = Frame(root, width=100, height=100)
frame.bind("<Key>", key)
frame.bind("<Button-1>", callback)
frame.pack()
root.mainloop()
Wenn Sie dieses Skript ausführen, werden Sie feststellen, dass Sie klicken müssen, um in der Rahmen, bevor er irgendwelche Tastaturereignisse empfängt.
ich diese Anleitung folgte eine ctrl + f Bindung an eine meiner Funktionen vor einer Weile zu implementieren:
toolmenu.add_command(label="Search Ctrl+f", command=self.cntrlf)
root.bind('<Control-f>', self.searchbox)
def cntrlf(self, event):
self.searchbox()
für die Datei-Menü, Sie könnten Umsetzung Beschleuniger in Betracht ziehen:
menubar.add_cascade(label="File", menu=fileMenu)
fileMenu.add_command(label="Exit", command=quit, accelerator="Ctrl+Q")
config(menu=menubar)
für Menüoptionen nicht vergessen, ALT zu verwenden, gefolgt vom ersten Buchstaben des Optionsnamens
Datei Menü = ALT fo llowed von f Tool-Menü = ALT von t gefolgt und so weiter
Hoffnung dies liefert nützliche
Es war nützlich, und ich habe Beschleuniger arbeiten, so danke! Meine Hauptfrage zu Shortcuts (wie zum Beispiel "F" drücken, um das Menü "Datei" zu öffnen) in Python 3 ist jedoch immer noch unbeantwortet. –
nicht sicher "F" kann als Beschleuniger zugewiesen werden, ich überprüfe – glls
Vergesst, ich bin ein Idiot. Ich habe vergessen, "alt" zuerst zu drücken, um die unterstrichene Buchstaben-Sache zu ermöglichen. Es funktioniert definitiv. –