2013-06-21 77 views
5

欲一個控制+ 1個序列綁定到一個窗口。 widget.bind("<Control-1>", lambda event: someFunction(event))綁定Control +鼠標左鍵點擊。這是我的代碼片斷將使用此:控制+號Tkinter的結合

self.master.bind("<Control-1>", lambda event: self.allTypeButtons[1].invoke()) 
self.master.bind("<Control-2>", lambda event: self.allTypeButtons[2].invoke()) 
self.master.bind("<Control-3>", lambda event: self.allTypeButtons[3].invoke()) 
# self.allTypeButtons is a dictionary with Radiobuttons as its values 

我也試過self.master.bind("<Control>-1", lambda event: self.allTypeButtons[1].invoke()),但是這給了我:_tkinter.TclError: bad event type or keysym "Control"

另外,self.master.bind("Control-1", lambda event: self.allTypeButtons[1].invoke())然後按Control + 1不會調用該事件。

我知道widget.bind("1", lambda event: someFunction(event))結合,widget.bind("<1>", lambda event: someFunction(event))結合鼠標左鍵點擊,並widget.bind("<Control-h>", lambda event: someFunction(event))結合控制+ H,但我怎麼能合併控制+ 1?提前致謝。

回答

6

事件名稱是<Control-Key-1>

import Tkinter as tk 
def quit(event): 
    print("You pressed Control-Key-1") 
    root.quit() 

root = tk.Tk() 
root.bind('<Control-Key-1>', quit) 
root.mainloop() 

我已在這裏發佈了partial table of event names這裏。