2016-03-04 89 views
0

我想要检测按钮在tcl/tk中按下(向下)但未释放(向上)。在tcl/tk中按下按钮并启动时运行

当你点击一个按钮时,它的相关命令只有在你放开并且按钮返回后才会执行。

从的Tcl/Tk文档: “命令行名称:-command 数据库名称:命令 数据库类:命令 指定Tcl命令与按钮关联这个命令一般调用时鼠标按钮1在按钮窗口上释放

通常情况下?

当按钮关闭时,我的命令是如何执行的?

+1

'bind .b {puts down}' –

回答

2

-command回调实际上是响应特定事件序列而触发的高级事件。在低级别的赛事而言,你必须在按钮上<Enter>小部件,<ButtonPress-1>(通常简称为<Button-1>或只是<1>)在按钮开始点击,然后<ButtonRelease-1>而在此期间没有做一个<Leave><B1-Leave>(没有<Enter><B1-Enter>来反转它)。这有点复杂!

但你可以随时添加自己的绑定。

bind .btn <ButtonPress-1> {puts "pressed the button"} 
bind .btn <ButtonRelease-1> {puts "released the button"} 

如果你正在做什么复杂的,要知道,与break完成绑定脚本将阻止任何后来的绑定(例如,按钮类绑定)烧制而成。按钮具有这些事件的类绑定:<ButtonRelease-1>,<Button-1>,<Leave>,<Enter>,<<Invoke>>(这是一个虚拟事件)和<Key-space>

+0

不止我需要。谢谢! :) –