2016-03-04 69 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

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

相關問題