19.7. Tcl/Tk 시작하기


19.7.1. Tcl/Tk 소개

Tcl(도구 명령 언어) 은 동적 프로그래밍 언어입니다. 이 언어의 인터프리터는 C 라이브러리와 함께 tcl 패키지에서 제공합니다.

Tk ( T cl/Tk)와 결합된 Tcl을 사용하면 크로스 플랫폼 GUI 애플리케이션을 생성할 수 있습니다. TKtk 패키지에서 제공합니다.

Tk 는 다음 중 하나를 참조할 수 있습니다.

  • 여러 언어를 위한 프로그래밍 툴킷
  • C, Ruby, Perl, Python과 같은 여러 언어에 사용할 수 있는 Tk C 라이브러리 바인딩
  • Tk 콘솔을 인스턴스화하는 wish 인터프리터
  • 특정 Tcl 인터프리터에 여러 새 명령을 추가하는 Tk 확장

Tcl/Tk에 대한 자세한 내용은 Tcl/Tk 설명서 또는 Tcl/Tk 설명서 웹 페이지를 참조하십시오.

19.7.2. Tcl/Tk 8.6에서 주요 변경 사항

Red Hat Enterprise Linux 7에서 Tcl/Tk 8.5 를 사용했습니다. Red Hat Enterprise Linux 8에서는 기본 OS 리포지터리에서 Tcl/Tk 버전 8.6 이 제공됩니다.

Tcl/Tk 8.5 에 비해 Tcl/Tk 8.6 의 주요 변경 사항은 다음과 같습니다.

  • 객체 지향 프로그래밍 지원
  • Stackless 평가 구현
  • 향상된 예외 처리
  • Tcl로 빌드 및 설치되는 타사 패키지 모음
  • 다중 스레드 작업 활성화
  • SQL 데이터베이스 기반 스크립트 지원
  • IPv6 네트워킹 지원
  • 내장된 Zlib 압축
  • 목록 처리

    Tcl 컨테이너에 대한 변환 표현식을 허용하는 lmapdict 맵 이라는 두 가지 새 명령을 사용할 수 있습니다.

  • 스크립트 별 스택 채널

    두 개의 새 명령인 chan pushchan pop 을 사용할 수 있으므로 I/O 채널로의 변환을 추가하거나 제거할 수 있습니다.

Tk 의 주요 변경 사항은 다음과 같습니다.

  • 내장 이미지 지원
  • 사용 중인 창

    창 또는 위젯에 대한 사용자 상호 작용을 비활성화하고 사용 중인 커서를 표시하는 새 명령인 tk busy 를 사용할 수 있습니다.

  • 새로운 글꼴 선택 대화 인터페이스
  • 눈여겨진 텍스트 지원
  • 팔레트 지원에 대한 이동

Tcl 8.5 및 Tcl 8.6의 변경 내용은 Tcl/Tk 8.6 의 변경 사항을 참조하십시오.

19.7.3. Tcl/Tk 8.6으로 마이그레이션

Red Hat Enterprise Linux 7에서 Tcl/Tk 8.5 를 사용했습니다. Red Hat Enterprise Linux 8에서는 기본 OS 리포지터리에서 Tcl/Tk 버전 8.6 이 제공됩니다.

이 섹션에서는 다음을 위해 Tcl/Tk 8.6 로의 마이그레이션 경로에 대해 설명합니다.

  • Tcl 확장을 작성하거나 애플리케이션에 Tcl 인터프리터를 포함하는 개발자
  • Tcl/Tk를 사용하여 작업을 스크립팅하는 사용자

19.7.3.1. Tcl 확장 개발자를 위한 마이그레이션 경로

코드를 Tcl 8.6 과 호환하려면 다음 절차를 사용하십시오.

절차

  1. interp 구조를 사용하도록 코드를 다시 작성합니다. 예를 들어 코드가 interperrorline인 경우 다음 함수를 사용하도록 다시 작성합니다.

    Tcl_GetErrorLine(interp)

    이는 Tcl 8.6인터랩 구조의 멤버에 대한 직접 액세스를 제한하기 때문에 필요합니다.

  2. 코드를 Tcl 8.5 및 Tcl 8.6 과 모두 호환하려면 C 또는 C++ 애플리케이션의 헤더 파일에서 다음 코드 스니펫을 사용하거나 Tcl 라이브러리를 포함하는 확장 프로그램의 코드 조각을 사용하십시오.

    # include <tcl.h>
    # if !defined(Tcl_GetErrorLine)
    # define Tcl_GetErrorLine(interp) (interp→errorLine)
    # endif

19.7.3.2. Tcl/Tk를 사용하여 작업을 스크립팅하는 사용자의 마이그레이션 경로

Tcl 8.6 에서는 대부분의 스크립트가 이전 버전의 Tcl 과 동일한 방식으로 작동합니다.

코드를 Tcl 8.6 으로 마이그레이션하려면 다음 절차를 사용하십시오.

절차

  • 이식 코드를 작성할 때 Tk 8.6 에서 더 이상 지원되지 않는 명령을 사용하지 않도록하십시오 :

    tkIconList_Arrange
    tkIconList_AutoScan
    tkIconList_Btn1
    tkIconList_Config
    tkIconList_Create
    tkIconList_CtrlBtn1
    tkIconList_Curselection
    tkIconList_DeleteAll
    tkIconList_Double1
    tkIconList_DrawSelection
    tkIconList_FocusIn
    tkIconList_FocusOut
    tkIconList_Get
    tkIconList_Goto
    tkIconList_Index
    tkIconList_Invoke
    tkIconList_KeyPress
    tkIconList_Leave1
    tkIconList_LeftRight
    tkIconList_Motion1
    tkIconList_Reset
    tkIconList_ReturnKey
    tkIconList_See
    tkIconList_Select
    tkIconList_Selection
    tkIconList_ShiftBtn1
    tkIconList_UpDown

    /usr/share/tk8.6/unsupported.tcl 파일에서 지원되지 않는 명령 목록을 확인할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.