我正在寻找一种方法来从小部件的处理程序中检测组合键,例如Ctrl+P序列(按住right或left Ctrl按下P键) 。key_press_event
似乎没有任何简单干净的方法来判断修饰键是否被按住。
笨拙的方法是:
- 编写和绑定两者
keypress
和key-release
处理程序 - 存储我关心的修饰键的按下和释放,以了解它们何时被按住(right和left Ctrl等,键不同)
- 检测我关心的字母键的按下,并根据按下的修饰键对它们进行不同的处理。
AccelGroup(见下面的答案)似乎适用于大多数目的,但它们是每个窗口,而不是每个小部件。