2016-07-25 14 views
0

ディレクトリにファイルがいくつか存在するかどうかを確認してから、ラジオボタンの色を変更したいが、ボタン。ここでTCL:特定の条件をチェックしてラジオボタンの色を変更する方法

は、サンプルコードで

set topdir $path 

ttk::checkbutton .top.d.z.$t -text $v -variable s -command [list select_lib $v $elem $g $t] $t] \ 
     -value $v.kill -padx 2 -pady 2 
if {file exist $path/rc.log == 1} { 
    #change color to green in widget 
} else { 
    # retain same background of radio button 
} 

のように見える、これを達成するための任意の方法を提案してください。

+0

また、試験は、 '' {[ファイルが$パス/ rc.log存在する]}であるべきであるが、私は、これは単にデモコードで推測しています。 –

+0

もう1つの質問は、ラジオボタンの色を変更したいのですか、それとも選択したかどうかを変更したいですか? –

答えて

1

wikiのttkスタイルの説明については、RLEとBrad Lanamに感謝します。

ラジオボタンを作成し、探します

pack [ttk::radiobutton .b -text foo] 

が緑色に設定された背景と、デフォルトTRadiobuttonスタイルに基づくカスタムスタイルを作成します。

ttk::style configure greenstyle.TRadiobutton -background green 

は、オンにするラジオボタンにこのスタイルを適用します背景緑:

.b configure -style greenstyle.TRadiobutton 

通常の状態に戻す背景色:

.b configure -style TRadiobutton 

色を変更する場合、などをテーマにしたウィジェット上で、一つは

  • に(この場合はTRadiobuttonで)デフォルトのスタイルを変更することを決定することができます。これは、同じタイプのすべてのウィジェットに影響を及ぼし
  • サブスタイル、クローニングされた様式(例えばhereを参照)
  • スクラッチ内蔵スタイル(FO
  • greenstyle.TRadiobutton)この例のようにWindowsのC:\Tcl\lib\tk8.6\ttkディレクトリの例を挙げる):専門家のみ。ブラッドLanamによって

編集:TTKの

詳細情報::ラジオボタンの色

いくつかの定義:

  • 背景:すべて
  • の背後にある全体の背景色
  • Foreground:ラジオボタンのテキストの色ラベル上
  • インジケータカラー:インジケータの色。

これらのオプションはttk::styleコマンドを使用して設定することができます。

ttk::style configure greenstyle.TRadiobutton -indicatorcolor lightgreen 
ttk::style map greenstyle.TRadiobutton -indicatorcolor \ 
    [list selected darkgreen pressed white] 

はセットを適用し、上記のようにリセットします。

ドキュメント: packttk::radiobutton (widget)Introduction to the Tk theme engineChanging Widget Colors (ttk::radiobutton)

+0

私は申し訳ありませんが、実際にはttk:radiobuttonを使用しています。 ttk :: checkbutton .top.d.z。$ t -text $ v -variable s -command [list select_lib $ v $ elem $ g $ t] –

+1

@DanishSheikh:大丈夫です。テーマウィジェットはそのように構成するのが難しく、個人的には決して行いません。私は今日、後でそれを見ていきます。もしBrad Lanamがチェックインして、あなたにすぐに答えを与えてくれるのでないなら、 –

+0

ありがとうございました.... –

関連する問題