2014-11-15 2 views
0

콤보 박스 코드를 사용하여 라벨 텍스트의 글꼴을 변경해야합니다. 이 내 콤보입니다 : 내가 Italic을 선택하면콤보 박스 항목 사용 방법 tcl tk

variable varLabel3 
variable varCombobox1 [list Normal Italic Bold ] 

ttk::combobox $base.combobox#1 \ 
    -values $varCombobox1 
set c [.combobox#1 get] 

예를 들어, 레이블의 텍스트 (내 프로그램에서 .label#1)이 기울어됩니다. 어떻게해야합니까?

+1

문서에서 매우 열심히 보지 못했다는 느낌을받습니다. 예를 들어'font' 명령으로 무엇이든 해본 적이 있습니까? 가지고 있고 시도가 작동하지 않는다면 코드를 보여 주면 도움이 될 것입니다. –

답변

0

ttk::combobox은 선택한 있었는지 알아 콤보 상자의 get 방법를 사용하고 그 다음에 역할을 할 수있을 때 그 값이 변경의 라는 이름의 글꼴를 구성 할 때 자체에 <<ComboboxSelected>> 가상 이벤트를 보냅니다 당신 라벨에 사용하고있어. 그것은 많은 코드를 전혀 가져 가지 않습니다.

font create myFont -family Times -size 42 -weight normal -slant roman 
pack [label .l -text "Sample Text" -font myFont] 

set values [list Normal Italic Bold ] 
pack [ttk::combobox .combo -values $values] 
bind .combo <<ComboboxSelected>> { 
    switch [%W get] { 
     "Normal" { font configure myFont -weight normal -slant roman } 
     "Italic" { font configure myFont -weight normal -slant italic } 
     "Bold" { font configure myFont -weight bold -slant roman } 
    } 
} 

는 또한 콤보 상자의 초기 값을 설정하려는 텍스트로 직접 편집 할 수 없습니다 만들 수 있습니다 다른

.combo set [lindex $values 0] 
.combo configure -state readonly 

모든 것이 사물의 이름을 지정하는 방법에 주위 변화하고 있습니다.

+0

도움 주셔서 대단히 감사합니다! 또한 글꼴 선택기를 사용하여 레이블 '텍스트의 글꼴을 어떻게 바꿀 수 있는지 검색했습니다. 그것은 tcltk 도움 사이트에 있지만 코드는 쓸모가 없습니다. 즉, 4 가지 절차가 나와 있지만 사용할 수있는 방법을 알 수는 없습니다. 링크는 다음과 같습니다. https : //www.tcl.tk/man/tcl/TkCmd/fontchooser.htm – Ionut

관련 문제