如何将 3 个密钥一次绑定到事件



我正在尝试为我的程序创建快捷方式。

例如,我可以一次将 1 或 2 个键绑定到一个事件

self.rootwindow.bind("<Control-s>", lambda event: self.savefile())

但是我似乎不能对 3 个键做同样的事情,例如

self.rootwindow.bind("<Control-Shift_L-s>", lambda event: self.savefileas())

有什么方法可以让它像这样工作吗?或者无论如何都可以使我可以将 3 个密钥绑定到这样的事件?

对于 Tkinter,Control-R 表示Ctrl-Shift-RControl-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()

最新更新