[강좌] Tcl/Tk 기초

admin의 아바타

Tcl의 문자열

Tcl은 문자열 처리를 기본으로 하고 있는 커맨드 언어이기에, 다른 언어에 비해 문자열 처리 기능은 충실한 편 입니다.

보통 if, while, for의 제어문은 아래 처럼 간단하게 문자열 비교를 할수 있습니다.

set str "abc"
if {$str == "abc"} {
     puts 같음
}

admin의 아바타

Tcl의 배열

Tcl은 문자열을 첨자로 하는 연상 배열을 사용할 수 있습니다. 배열의 첨자는 괄호안에 임의의 문자열을 지정합니다. 개별적인 배열 요소의 값은 $로 직접 참조할 수 있습니다. 또한 parray 커맨드를 사용하여 모든 배열 요소의 값을 표시할 수 있습니다.

set ary(이름) 민인학
set ary(성별)

admin의 아바타

Tk의 단축키(Shortcut key)

GUI를 설계할 경우, 마우스를 사용하지 않으면서 키보드로 조작하는 기능을 숙련자에게 제공해야할 필요가 있습니다. ALT 키나 CTRL 키를 누르면서 다른 키를 누르는 경우로써, Windows 는 하나의 목적에 여러개의 단축키가 존재하는 경우가 있습니다.

일반적인 단축키

admin의 아바타

Tk의 레이블 프레임(label frame)

Tcl/Tk 8.4 부터 추가된 labelframe 위젯을 소개합니다. 기본형은 -text 옵션으로 레이블을 지정하는 방식입니다.

pack [labelframe .f1 -text Label -pady 2 -padx 2]
 
set t 0
foreach str {Option1 Option2 Option3} {
        checkbutton .f1.b$t -text $str
        pack .f1.b$t -side top -fill x -pady 2
        incr t
}

admin의 아바타

Tk의 Raise & Lower

raise와 lower

윈도우의 스택 순서를 제어하는 커맨드에는 raise와 lower가 있습니다. raise는 윈도우를 제일 앞으로 이동하고, lower는 윈도우를 최 하위로 이동합니다.

raise .
lower .

내용묶음