Tcl中bind用法
0赞Tcl/TK中可以用bind进行命令绑定,最近小试了一下,复杂的不会,弄几个简单的例子:
bind .t <Double-2> {.t delete 1.0 end};##绑定鼠标中键为清除text
bind .t <Control-a> {.t delete 1.0 end};##绑定Ctrl+A键为清除text
;###双击鼠标左键在entry里插入相应的内容
bind .numeratorValue <Double-1> { .numeratorValue delete 0 end; .numeratorValue insert insert 1048576 }
bind .denominatorValue <Double-1> { .denominatorValue delete 0 end; .denominatorValue insert insert 4096 }
####################################################################
上面举了几个例子,下面简单说说可以绑定的操作:
1、有关鼠标的绑定
1)、左键:
<Double-1> :表示双击左键;
<Triple-1> :表示三击左键;
2)、左键:
<Double-2> :表示双击中键;
<Triple-2> :表示三击中键;
3)、左键:
<Double-3> :表示双击右键;
<Triple-3> :表示三击右键;
注:没有试出来如何绑定单击鼠标键。
2、键盘绑定,可以单键,也可以组合键,下面举例:
1)、<Enter> :不是回车,而是鼠标光标的移动,第一个字母必须大写;
2)、 <Control-a> :Ctrl键+a,注意Control的第一个字母“c”必须大写;
3)、<Key-a>或者<Keypress-a> 或者<a> :字母a键(区分大小写),当然a可以更改为任何其他键;
4)、<Motion> :和<Enter>一样,是鼠标光标移入目标区域;
5)、<Any-a>:这里用法的意思是任何带有a的操作都被绑定,例如按a和按Ctrl+a效果一样;
6)、<Alt-a>:Alt+a,第一个字母大写,这里要注意的是Ctrl键在tcl中只认“Control”,而Alt跟键盘对应;
7)、实验了一下Shift键也可以绑定,但是必须和上位符号或者大写字母绑定,比如<Shift-A>,而没有<Shift-a>;
8)、经过试验,Alt键还可以在tcl中用Mod1、Mod2、M2代替;
9)、<Lock-A>::Lock代替Caps Lock键,同Shift键,只和大写字母组合;
10)、<Leave>:和Motion相反,是鼠标光标移出目标区域;
11)、<Return>:这个才是键盘的回车键;
12)、<Escape>:Esc键;
13)、同理也可以绑定<F1>~<F12>,而且是单键绑定。