Tkinter 绑定“<Control-Key-n>”与“<Control-n>”
Tkinter Binding "<Control-Key-n>" vs. "<Control-n>"
我有一个问题:
在tkinter中绑定一个函数,有很多种方法。其中两种方式是:
# Method 1
root.bind('<Control-n>', ExampleFunction)
# Method 2
root.bind('<Control-Key-n>', ExampleFunction)
Control-n 和 Control-Key-n 有什么区别?
功能上没有区别。
Control-Key-n
是由
组成的事件说明符
- 修饰符
Control
(事件发生时按住control键。)
- 事件类型
Key
(KeyPress
的缩写)
- 事件详细信息
n
(具体来说,按下了 n
键)。
来自man n bind
:
If a keysym detail is given, then
the type field may be omitted; it will default to KeyPress. For example, <Control-comma> is equivalent to <Control-KeyPress-comma>.
所以<Control-n>
只是<Control-Key-n>
的缩写形式(它本身就是<Control-KeyPress-n>
的缩写形式):单独的n
相当于Key-n
.
我有一个问题:
在tkinter中绑定一个函数,有很多种方法。其中两种方式是:
# Method 1
root.bind('<Control-n>', ExampleFunction)
# Method 2
root.bind('<Control-Key-n>', ExampleFunction)
Control-n 和 Control-Key-n 有什么区别?
功能上没有区别。
Control-Key-n
是由
- 修饰符
Control
(事件发生时按住control键。) - 事件类型
Key
(KeyPress
的缩写) - 事件详细信息
n
(具体来说,按下了n
键)。
来自man n bind
:
If a keysym detail is given, then the type field may be omitted; it will default to KeyPress. For example, <Control-comma> is equivalent to <Control-KeyPress-comma>.
所以<Control-n>
只是<Control-Key-n>
的缩写形式(它本身就是<Control-KeyPress-n>
的缩写形式):单独的n
相当于Key-n
.