Python-GUI 프로그래밍 (Tkinter)

Python은 그래픽 사용자 인터페이스 (GUI) 개발을위한 다양한 옵션을 제공합니다. 가장 중요한 것은 아래에 나열되어 있습니다.

  • Tkinter− Tkinter는 Python과 함께 제공되는 Tk GUI 툴킷에 대한 Python 인터페이스입니다. 이 장에서이 옵션을 살펴 보겠습니다.

  • wxPython − 이것은 wxWindows 용 오픈 소스 Python 인터페이스입니다. http://wxpython.org.

  • JPython − JPython은 Python 스크립트가 로컬 컴퓨터의 Java 클래스 라이브러리에 원활하게 액세스 할 수있는 Java 용 Python 포트입니다. http://www.jython.org.

인터넷에서 찾을 수있는 다른 많은 인터페이스가 있습니다.

Tkinter 프로그래밍

Tkinter는 Python 용 표준 GUI 라이브러리입니다. Tkinter와 결합 된 Python은 GUI 애플리케이션을 생성하는 빠르고 쉬운 방법을 제공합니다. Tkinter는 Tk GUI 툴킷에 대한 강력한 객체 지향 인터페이스를 제공합니다.

Tkinter를 사용하여 GUI 애플리케이션을 만드는 것은 쉬운 작업입니다. 다음 단계를 수행하기 만하면됩니다.

  • Tkinter 모듈을 가져옵니다 .

  • GUI 애플리케이션 기본 창을 만듭니다.

  • 위에서 언급 한 위젯 중 하나 이상을 GUI 애플리케이션에 추가합니다.

  • 사용자가 트리거 한 각 이벤트에 대해 조치를 취할 기본 이벤트 루프를 입력하십시오.

#!/usr/bin/python

import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()

이것은 다음 창을 생성합니다-

Tkinter 위젯

Tkinter는 GUI 응용 프로그램에서 사용되는 버튼, 레이블 및 텍스트 상자와 같은 다양한 컨트롤을 제공합니다. 이러한 컨트롤을 일반적으로 위젯이라고합니다.

현재 Tkinter에는 15 가지 유형의 위젯이 있습니다. 다음 표에서 이러한 위젯과 간단한 설명을 제공합니다.

Sr. 아니. 연산자 및 설명
1 단추

버튼 위젯은 애플리케이션에 버튼을 표시하는 데 사용됩니다.

2 캔버스

Canvas 위젯은 응용 프로그램에서 선, 타원, 다각형 및 직사각형과 같은 모양을 그리는 데 사용됩니다.

체크 버튼

Checkbutton 위젯은 여러 옵션을 확인란으로 표시하는 데 사용됩니다. 사용자는 한 번에 여러 옵션을 선택할 수 있습니다.

4 기입

Entry 위젯은 사용자의 값을 수락하기위한 한 줄 텍스트 필드를 표시하는 데 사용됩니다.

5

프레임 위젯은 다른 위젯을 구성하는 컨테이너 위젯으로 사용됩니다.

6 상표

Label 위젯은 다른 위젯에 한 줄 캡션을 제공하는 데 사용됩니다. 이미지를 포함 할 수도 있습니다.

7 리스트 박스

Listbox 위젯은 사용자에게 옵션 목록을 제공하는 데 사용됩니다.

8 메뉴 버튼

Menubutton 위젯은 애플리케이션에 메뉴를 표시하는 데 사용됩니다.

9 메뉴

메뉴 위젯은 사용자에게 다양한 명령을 제공하는 데 사용됩니다. 이러한 명령은 Menubutton에 포함되어 있습니다.

10 메시지

메시지 위젯은 사용자의 값을 수락하기위한 여러 줄 텍스트 필드를 표시하는 데 사용됩니다.

11 라디오 버튼

Radiobutton 위젯은 여러 옵션을 라디오 버튼으로 표시하는 데 사용됩니다. 사용자는 한 번에 하나의 옵션 만 선택할 수 있습니다.

12 규모

Scale 위젯은 슬라이더 위젯을 제공하는 데 사용됩니다.

13 스크롤 바

스크롤바 위젯은 목록 상자와 같은 다양한 위젯에 스크롤 기능을 추가하는 데 사용됩니다.

14 본문

텍스트 위젯은 텍스트를 여러 줄로 표시하는 데 사용됩니다.

15 최상위

Toplevel 위젯은 별도의 창 컨테이너를 제공하는 데 사용됩니다.

16 스핀 박스

Spinbox 위젯은 고정 된 수의 값에서 선택하는 데 사용할 수있는 표준 Tkinter Entry 위젯의 변형입니다.

17 PanedWindow

PanedWindow는 가로 또는 세로로 배열 된 여러 개의 창을 포함 할 수있는 컨테이너 위젯입니다.

18 LabelFrame

labelframe은 간단한 컨테이너 위젯입니다. 주요 목적은 복잡한 창 레이아웃을위한 스페이서 또는 컨테이너 역할을하는 것입니다.

19 tkMessageBox

이 모듈은 응용 프로그램에서 메시지 상자를 표시하는 데 사용됩니다.

이 위젯을 자세히 살펴 보겠습니다.

표준 속성

크기, 색상 및 글꼴과 같은 몇 가지 공통 속성이 어떻게 지정되는지 살펴 보겠습니다.

  • Dimensions

  • Colors

  • Fonts

  • Anchors

  • 릴리프 스타일

  • Bitmaps

  • Cursors

간략히 살펴 보겠습니다.

기하학 관리

모든 Tkinter 위젯은 상위 위젯 영역 전체에 위젯을 구성하는 목적을 가진 특정 지오메트리 관리 방법에 액세스 할 수 있습니다. Tkinter는 팩, 그리드, 플레이스와 같은 지오메트리 관리자 클래스를 제공합니다.

  • 팩 () 메소드 -이 기하 관리자는 부모 위젯에 배치하기 전에 블록에서 위젯을 구성합니다.

  • 그리드 () 메소드 - 형상이 관리자는 상위 위젯의 테이블 형 구조에서 위젯을 구성.

  • 장소 () 메소드 -이 기하 관리자는 부모 위젯의 특정 위치에 배치하여 위젯을 구성합니다.

기하학 관리 방법을 간략하게 살펴 보겠습니다.