我正在尝试为程序创建快捷方式。
例如,我可以一次将1个或2个键绑定到一个事件
self.rootwindow.bind("<Control-s>", lambda event: self.savefile())
例如,我似乎不能对3个键做相同的操作
self.rootwindow.bind("<Control-Shift_L-s>", lambda event: self.savefileas())
有什么办法可以使它像这样吗?还是有办法做到这一点,以便我可以将3个键绑定到这样的事件?
答案 0 :(得分:3)
在Tkinter中,Control-R
表示Ctrl-Shift-R
,而Control-r
表示Ctrl-R
。因此,请确保您没有混用大写和小写字母。
也许您应该尝试Control-S
:
import sys
from Tkinter import Button, Frame, Tk # Python 2
class MyClass:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.button = Button(frame, text="Hello", command=self.func)
self.button.pack(side='left')
master.bind('<Control-s>', self.save)
master.bind('<Control-S>', self.exit)
def save(self, _event=None):
print("save the file")
def exit(self, _event=None):
print("exit")
sys.exit()
root = Tk()
abc = MyClass(root)
root.mainloop()