按下按钮并按下tcl / tk按钮

时间:2016-03-04 04:11:55

标签: tcl tk

我想检测按下按钮(向下)但在tcl / tk中没有释放(向上)的时间。

单击某个按钮时,只有在松开按钮后,才能执行相关命令。

  

来自tcl / tk文档:   " 命令行名称: - 命令   数据库名称:命令   数据库类:命令   指定与按钮关联的Tcl命令。通过按钮窗口释放鼠标按钮1时,通常会调用此命令。"

通常?

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

1 个答案:

答案 0 :(得分: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>>(这是一个虚拟事件)和{{1} }。