2017-12-03 36 views
0

どうすればバインドできますか?Ctrl + Shift + S? (print文が実行されません)私は以下のコードを試してみましたが、それは動作しませんthisに基づいて:キーの組み合わせをメソッドにバインドする方法は?

import tkinter as tk 

def key(event=None): 
    print("It works!") 

root = tk.Tk() 

frame = tk.Frame(root, width=100, height=100) 
frame.focus_set() 
frame.bind('<Control-Shift-s>', key) 
frame.pack() 

root.mainloop() 

また、私は可能な場合は、キーの組み合わせをバインドする方法についての一般的な答えを知りたいのです。

答えて

2

あなたがダウンShiftキーを保持する場合、Sになります。

したがって、バインドは実行されません。これを修正するには、バインドを変更するだけです:

frame.bind('<Control-Shift-S>', key) 
+0

これは機能します、ありがとう!大文字と小文字を区別しないために 'frame.bind( ''、key)も追加します。同様に繰り返すよりも良い方法を知っていますか? – Nae

+0

明らかに私は[this](https://stackoverflow.com/questions/7402516/tkinter-case-insensitive-bind)に従って2つのバインドを使用する必要があります。 – Nae

関連する問題