Tk-위젯 개요

Tk 기반 애플리케이션의 기본 구성 요소를 위젯이라고합니다. Tk에서 "창"과 "위젯"은 종종 같은 의미로 사용되기 때문에 구성 요소를 창이라고도합니다. Tk는 Tcl을 사용하여 그래픽 응용 프로그램을 만들기위한 풍부한 그래픽 구성 요소 집합을 제공하는 패키지입니다.

Tk는 버튼 및 메뉴와 같은 기본 GUI 위젯에서 데이터 표시 위젯에 이르기까지 다양한 위젯을 제공합니다. 위젯은 사용하기 쉬운 기본 구성이 있으므로 구성이 매우 쉽습니다.

Tk 애플리케이션은 위젯 계층 구조를 따릅니다. 여기에서 위젯의 수는 제한없이 다른 위젯 내에 배치 될 수 있으며 해당 위젯은 다른 위젯 내에 배치 될 수 있습니다. Tk 프로그램의 기본 위젯은 루트 위젯이라고하며 TkRoot 클래스의 새 인스턴스를 만들어 만들 수 있습니다.

위젯 생성

위젯 생성 구문은 다음과 같습니다.

type variableName arguments options

여기서 유형은 버튼, 레이블 등과 같은 위젯 유형을 나타냅니다. 인수는 선택 사항 일 수 있으며 각 위젯의 개별 구문에 따라 필수입니다. 옵션은 크기에서 각 구성 요소의 형식에 이르기까지 다양합니다.

위젯 명명 규칙

위젯은 패키지 이름 지정과 유사한 구조를 사용합니다. Tk에서 루트 창은 마침표 (.)로 이름이 지정되고 창의 요소는 예를 들어 button 이름이 .myButton1입니다. 변수 이름은 소문자, 숫자 또는 구두점 (마침표 제외)으로 시작해야합니다. 첫 번째 문자 뒤에 다른 문자는 대문자 또는 소문자, 숫자 또는 구두점 (마침표 제외)이 될 수 있습니다. 레이블을 시작하려면 소문자를 사용하는 것이 좋습니다.

색상 명명 규칙

색상은 빨강, 녹색 등과 같은 이름을 사용하여 선언 할 수 있습니다. #으로 표현하는 16 진수를 사용할 수도 있습니다. 16 진수 숫자는 3, 6, 9 또는 12 일 수 있습니다.

차원 규칙

기본 단위는 픽셀이며 치수를 지정하지 않을 때 사용됩니다. 다른 치수는 인치는 i, 밀리미터는 m, 센티미터는 c, 포인트는 p입니다.

일반적인 옵션

모든 위젯에 사용할 수있는 많은 공통 옵션이 있으며 아래 표에 나열되어 있습니다.

Sr. 아니. 구문 및 설명
1

-background color

위젯의 배경색을 설정합니다.

2

-borderwidth width

3D 효과에서 테두리로 그리는 데 사용됩니다.

-font fontDescriptor

위젯의 글꼴을 설정하는데 사용됩니다.

4

-foreground color

위젯의 전경색을 설정하는 데 사용됩니다.

5

-height number

위젯의 높이를 설정하는 데 사용됩니다.

6

-highlightbackground color

위젯에 입력 포커스가 없을 때 위젯 주위에 그릴 색 사각형을 설정하는 데 사용됩니다.

7

-highlightcolor color

위젯에 입력 포커스가있을 때 위젯 주위에 그릴 색 사각형을 설정하는 데 사용됩니다.

8

-padx number

위젯의 padx를 설정합니다.

9

-pady number

위젯의 패디를 설정합니다.

10

-relief condition

이 위젯의 ​​3D 릴리프를 설정합니다. 상태는 상승, 침몰, 평평, 융기, 단단 또는 홈일 수 있습니다.

11

-text text

위젯의 텍스트를 설정합니다.

12

-textvariable varName

위젯과 관련된 변수입니다. 위젯의 텍스트가 변경되면 위젯의 텍스트로 변수가 설정됩니다.

13

-width number

위젯의 너비를 설정합니다.

옵션에 대한 간단한 예가 아래에 나와 있습니다.

#!/usr/bin/wish

grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
   -padx 100 -pady 100

위의 프로그램을 실행하면 다음과 같은 결과가 나옵니다.

사용 가능한 위젯 목록은 다음과 같이 분류됩니다.

기본 위젯

Sr. 아니. 위젯 및 설명
1

Label

한 줄의 텍스트를 표시하기위한 위젯.

2

Button

클릭 할 수 있고 작업을 트리거하는 위젯입니다.

Entry

한 줄의 텍스트를 입력으로 받아들이는 데 사용되는 위젯.

4

Message

여러 줄의 텍스트를 표시하기위한 위젯.

5

Text

여러 줄의 텍스트를 표시하고 선택적으로 편집하기위한 위젯.

6

Toplevel

창 관리자가 제공하는 모든 테두리와 장식이있는 창입니다.

레이아웃 위젯

Sr. 아니. 위젯 및 설명
1

Frame

다른 위젯을 보관하는 컨테이너 위젯.

2

Place

원점 좌표와 정확한 크기로 특정 위치에 다른 위젯을 보관하는 위젯.

Pack

위젯을 상위 위젯에 배치하기 전에 블록으로 구성하는 간단한 위젯.

4

Grid

다른 방향으로 패킹되는 위젯을 중첩하는 위젯.

선택 위젯

Sr. 아니. 위젯 및 설명
1

Radiobutton

켜짐 / 꺼짐 버튼 및 레이블 세트가있는 위젯으로, 그중 하나를 선택할 수 있습니다.

2

Checkbutton

켜기 / 끄기 버튼 및 레이블 세트가있는 위젯.

Menu

메뉴 항목의 홀더 역할을하는 위젯.

4

Listbox

하나 이상의 셀을 선택할 수있는 셀 목록을 표시하는 위젯입니다.

메가 위젯

Sr. 아니. 위젯 및 설명
1

Dialog

대화 상자를 표시하기위한 위젯.

2

Spinbox

사용자가 숫자를 선택할 수있는 위젯.

Combobox

항목을 사용 가능한 선택 목록과 결합하는 위젯.

4

Notebook

색인 탭을 사용하여 여러 페이지 중 하나를 전환하는 데 도움이되는 탭 위젯.

5

Progressbar

파일 업로드와 같은 긴 작업의 진행 상황에 대한 시각적 피드백을 제공하는 위젯.

6

Treeview

트리 형태의 항목 계층 구조를 더 많이 표시하고 탐색 할 수있는 위젯입니다.

7

Scrollbar

텍스트 또는 캔버스 위젯이없는 스크롤 위젯.

8

Scale

슬라이더를 통해 숫자 값을 선택하는 비율 위젯.

기타 위젯

Sr. 아니. 위젯 및 설명
1

Canvas

그래픽과 이미지를 표시하기위한 그리기 위젯 ..

다음 장에서 이러한 각 위젯에 대해 다룰 것입니다.