admin의 아바타

Tk의 태그(tag)

텍스트 위젯과 캔바스 위젯은, 위젯안에 텍스트나 도형등에 태그 이름을 붙일수 있습니다. 태그 이름을 사용하여, 위젯안에 배치 시켰던 문자나 도형등에 대해 바인드(bind)를 할 수 있습니다.

아래의 예는, 텍스트 위젯안의 Java, Tcl, C의 키워드에 대하여 태그를 붙이고, 그 키워드의 색을 변경하는 바인드를 하고 있습니다.

pack [text .t  -width 30 -height 7 -bg white]
.t insert end {
Java 기술 산·연 협력 지원 사업에 관한 연구,
C 언어 통합 플랫폼, 함수 구조,
배열과 문자열, 입출력 함수 수록. Tcl의 장점에 대한 나열...
}
 
set pos 1.0
while {1} {
카테고리: 
admin의 아바타

Tk의 예약된 변수

아래의 글로벌 변수는 Tk에서 예약되어 있는 변수입니다. Readonly 만 가능한 변수도 있기 때문에 주의가 필요합니다.

  • tk_library
    Tk 라이브러리의 패스를 지정하고 있습니다.
  • tk_patchLevel
    Tk의 패치 레벨을 지정하고 있습니다.
  • tkPriv
    배열의 각 요소는 Tk의 프라이빗(private)을 지정하고 있습니다.
  • tk_strictMotif
    Motif의 Look & Feel을 지정 할 것인지 아닐지를 제어합니다.
  • tk_version
    Tk의 버전을 저장하고 있습니다.
카테고리: 
admin의 아바타

Tcl의 외부 커맨드

Tcl은 Tcl 커맨드 이외의 커맨드를 지정하면 외부 커맨드를 실행합니다. 실행된 외부 커맨드의 표준 출력은 Tcl의 커맨드와 마찬가지로 커맨드의 리턴값으로 리턴됩니다.

# grep은 외부 커맨드 입니다.
% grep -n hoge *.c | wc

위와 같이 외부 커맨드의 하나인 grep을 알고 사용 한다면 편리하겠지만, 모르는 사용자는 Tcl의 커맨드라 착각을 하게 되어 다른 플랫폼에 이식시에 문제가 될것입니다. 외부 커맨드의 실행을 막고자 한다면 auto_noexec 변수를 지정합니다. Tcl은 auto_noexec 변수가 존재한다면, 외부 커맨드의 실행을 막고 에러를 리턴합니다.

# 변수의 값은 무엇이든 상관없습니다.
카테고리: 

페이지

Subscribe to Korea Tcl/Tk Community RSS