You are here

Tk의 테마를 변경하자 tile

admin의 아바타

홈페이지: http://tktable.sourceforge.net/tile/

기존 Tk로 제작된 어플리케이션은 Tk 스러운(?) 스타일을 벗어날수 없었습니다. 이는 많은 사용자로부터 단점으로 지적되어 왔습니다. 다행스럽게도 O/S의 네이티브(Native) 스타일을 그대로 Tk 어플리케이션에 적용할 수 있는 tile 패키지가 등장 하였습니다. tile은 Tcl8.4 이상에서 사용할수 있으며, 8.5버전을 위한 멋진시도입니다. 표준으로 아래의 스타일(테마)이 준비되어 있으며, 플랫폼에 따라 지원하지 못하는 스타일도 있습니다.

  • classic: Motif 스타일
  • default: X11 스타일
  • alt: GTK+의 기본 스타일
  • clam: Gnome 스타일
  • winnative: Windows 스타일
  • xpnative: Windows XP 스타일
  • step: NeXTStep 스타일
  • aqua: MacOS X 스타일

이 밖에도 사용자들로부터 직접 확장 가능하며, tile의 데모에는 blue 테마가 기본으로 첨부되어 있습니다.

스크린 샷

Windows XP 스타일을 선택하면, 둥글둥글 스러운 위젯으로 변경됩니다. 이것만으로도 테마를 변경할 가치가 있는것 같습니다.

사용 방법

스타일을 적용하기 위해서는 tile::setTheme로 스타일을 지정합니다.
사용 가능한 스타일은 tile::availableThemes로 알수 있습니다. 현재 사용중인 스타일은 ::tile::currentTheme 변수로 얻을 수 있습니다.

package require tile
namespace import -force tile::*
 
tile::setTheme xpnative
 
pack [button .btn -text Button]
pack [listbox .lst]
 
foreach name [tile::availableThemes ] {
        .lst insert end $name
}
 
.lst selection set [lsearch [tile::availableThemes ] $::tile::currentTheme]

첨부 파일파일 크기
Image icon tile1.png23.47 KB
Image icon tile2.png17.74 KB
Image icon tile3.png6.47 KB