2016-07-25 3 views
0

디렉토리에 파일이 있는지 확인한 후 라디오 버튼의 색상을 변경하고 싶지만 알 수없는대로 설정할 수 없습니다. -background color은 라디오로 작동합니다 단추. 여기 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

위키의 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에)

  • 기본 스타일을 변경 결정할 수 있습니다 :이 같은 유형
  • 의 모든 위젯에 영향을 미칩니다
  • 서브 스타일이 예에서와 같이 (greenstyle.TRadiobutton)
  • 복제 된 스타일
  • 스크래치 내장 스타일 (예제 here 참조) (FO Windows의 C:\Tcl\lib\tk8.6\ttk 디렉토리에있는 예를 들자면) : 전문가 전용. 브래드 Lanam에 의해

편집 :

  • 배경 : 모든
  • 뒤에 전체 배경색 TTK :: 라디오 버튼의 색상

    일부 정의에

    추가 정보

  • Foreground : radiobutt의 텍스트 색상 on label
  • 표시기 색상 : 표시기의 색상.

이러한 옵션은 ttk::style 명령을 사용하여 설정할 수 있습니다 :

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

이 설정을 적용하고 위와 같이 다시 설정합니다.

문서 : pack, ttk::radiobutton (widget), Introduction to the Tk theme engine, Changing 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

Thanks Peter ... –