Tkinter 事件可以用特定形式的字符串来描述,称为事件模式。事件模式的一般形式是:
其中类型符 type 指定事件类型,最常用的类型有分别表示鼠标事件和键盘事件的 Button 和 Key;修饰符 modifier 用于描述鼠标键或键盘的双击、组合等情况;细节符 detail 指定具体的 鼠标键或键盘按键,如鼠标的左中右三个键分别用 1、2、3 表示,键盘按键用相应字符或按 键名称表示。modifier 和 detail 是可选的,而且事件模式经常可以使用简化形式。例如
描述符中,修饰符是 Double,类型符是 Button,细节符是 1,综合起来描 述的事件就是双击鼠标左键。
常用的鼠标事件包括:
:按下鼠标左键。可简写为 甚至<1>①。类似地有 (按下鼠标中键)和 (按下鼠标右键)。 :按下鼠标左键并移动鼠标。类似有 和 。 :双击鼠标左键。
常用的键盘事件包括:
:按下 a 键。可简写为 a(不用尖括号!)。可打印字符(字母、数字和标点 符号)都可像字母 a 这样使用,但有两个例外:空格键对应的事件是 ,小于 号键对应的事件是 。注意:1 是键盘事件,而<1>是鼠标事件。 :按下回车键。非可打印字符都可像回车键这样用<键名>表示对应事件,例如 、 、 、 、 、 等等。 :按下任意键。 :同时按下 Shift 键和↑键。类似的还有 Alt 组合、Ctrl 组合。
x 和 y:鼠标点击位置坐标(相对于构件左上角),单位是像素。
num:点击的鼠标键号,1、2、3 分别表示左、中、右键。
char:如果按下 ASCII 字符键,此属性即是该字符;如果按下特殊键,此属性为空 串。
keysym:如果按下普通 ASCII 字符键,此属性即是该字符;如果按下特殊键,此属 性设置为该键的名称(是个字符串)。
keycode:所按键的编码。注意,此编码无法区分该键上的不同字符,即它不是键上 字符的编码。
keysym_num:这是 keysym 的数值表示。对普通单字符键来说,就是 ASCII 码。 例如,按下任意键都可触发
事件,在事件处理函数中可以根据传递来的事件对象的 char 属性来确定具体按下的是哪一个键。