2012-05-08 21 views
2

只需製作一個非常簡單的Tcl/Tk程序即可學習,但我遇到了一些麻煩。Tcl/Tk腳本製作一個按鈕,點擊時會切換顏色?

我需要點擊按鈕開關顏色,所以它會開始紅色,點擊時它會變成綠色,如果再次點擊會回到紅色。

我已經把它從紅色變成了綠色,但是我不知道如何讓它以另一種方式迴歸。 這樣做的最好方法是什麼?

回答

2

這不是很辛苦(除了在OSX,在這樣的事情是直接對平臺UI準則),你只需要使用適當的回調:當你

button .b -background red -command [list toggleTheButton .b] 
set state(.b) 1 
proc toggleTheButton w { 
    global state 
    if {$state($w)} { 
     $w configure -background green 
    } else { 
     $w configure -background red 
    } 
    set state($w) [expr {!$state($w)}] 
} 

考慮使用checkbutton代替需要切換,因爲用戶會更快地理解它。

+0

請注意'toggleTheButton'可以使用盡可能多的按鈕。只需按下所示的按鈕(當然,使用不同的名稱)並初始化狀態。 –

+0

感謝堆。是的,我理解這樣做的問題,但這是如何做這個特定的應用程序。 –