2013-06-21 14 views
5

コントロール+ 1シーケンスをウィンドウにバインドしたいと思います。 widget.bind("<Control-1>", lambda event: someFunction(event))バインドコントロール+左マウスクリック。これは、これを使用します私のコードの抜粋です:私もself.master.bind("<Control>-1", lambda event: self.allTypeButtons[1].invoke())を試してみましたコントロール+番号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 

が、これは私を与える:_tkinter.TclError: bad event type or keysym "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が掲載されました。

関連する問題