2012-05-08 21 views
2

本当にシンプルなTcl/Tkプログラムを学習するだけですが、少し問題があります。クリックすると色が切り替わるボタンを作るTcl/Tkスクリプト?

ボタンをクリックすると色が変わるので、クリックすると赤くなり、クリックすると緑色に変わり、もう一度クリックすると赤色に戻ります。

私は赤から緑に変化していますが、それを他の方法に戻す方法はわかりません。 これを行う最善の方法は何ですか?

答えて

2

それは非常に難しいことではありません(この種のものは、プラットフォームのUIガイドラインに対する直接でOSX、上を除く)あなただけの、適切なコールバックを使用する必要があります。

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

ヒープをありがとう。ええ、私はこのようにして問題を理解していますが、これはこの特定のアプリケーションのために行われなければならない方法です。 –

関連する問題