2017-12-03 3 views
0

어떻게 바인딩 할 수 있습니까? Ctrl + Shift + S을 메서드에 바인딩 할 수 있습니까? 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

당신이이 S된다 시프트을 누르고합니다.

따라서 바인딩이 실행되지 않습니다. 이 문제를 해결하려면 바인딩을 다음으로 변경하면됩니다.

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

감사합니다. 대소 문자를 구별하지 않기 위해'frame.bind ('', key)도 추가 할 것입니다. 그렇게 반복하는 것보다 더 나은 방법을 알고 싶습니까? – Nae

+0

분명히 [this] (https://stackoverflow.com/questions/7402516/tkinter-case-insensitive-bind)에 따라 두 개의 바인드를 사용해야합니다. – Nae

관련 문제