我想检测按下按钮(向下)但在tcl / tk中没有释放(向上)的时间。
单击某个按钮时,只有在松开按钮后,才能执行相关命令。
来自tcl / tk文档: " 命令行名称: - 命令 数据库名称:命令 数据库类:命令 指定与按钮关联的Tcl命令。通过按钮窗口释放鼠标按钮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} }。