Tkinter 시작하기

Tkinter(Tk interface)는 GUI (Graphical User Interface) 기반의 데스크톱 응용 프로그램을 만드는데 사용되는 파이썬의 표준 라이브러리입니다.
Tk는 Tcl(Tool Command Language) 스크립트 언어의 GUI 확장으로 개발되었으며 Tcl과 Tk GUI 툴킷을 묶어서 Tcl/Tk라고 부릅니다.
오픈 소스 GUI 툴킷인 Tk는 1980년대에 개발되어 Windows, Mac OS 및 Linux 등 다양한 플랫폼에서 사용할 수 있습니다.
즉, Tkinter는 오픈 소스인 Tk GUI 툴킷에 있는 위젯을 사용하여 GUI 프로그램을 만드는 간단한 방법을 제공합니다.
Tkinter뿐만 아니라 Python에는 데스크톱 응용 프로그램을 만들기 위한 다양한 라이브러리(Kivy, PyQt5, wxPython, PyGUI 등)가 있습니다.
그러나 아래와 같은 특징으로 다른 라이브러리보다 Tkinter를 선호합니다.

특징

  • Python 표준 라이브러리에 내장된 유일한 프레임워크
  • 크로스 플랫폼으로 Windows, Mac OS, Linux 등에서 동일한 코드로 실행
  • 다른 프레임워크에 비해 가볍고 사용하기 쉬움
  • GUI 인터페이스가 세련되지 않음

1-1. 개발환경만들기

image

[파이썬 IDLE 다운로드] https://www.python.org/ftp/python/3.11.3/python-3.11.3-amd64.exe

① 파이썬 프로그램을 개발하기 위해서 공식 홈페이지(https://www.python.org/)에서 제공하는 윈도우용 파이썬 언어 패키지를 다운로드합니다. 현재 이 글을 작성하고 있는 시점의 파이썬 버전은 3.11.3 입니다. image

② 다운로드 받은 파일을 실행하고 “Add python.exe to PATH” 체크박스를 클릭 후 “Install Now” 선택하여 설치를 진행합니다.
image image
③ 설치가 완료되면 “Close” 버튼을 클릭하여 설치를 종료합니다.

1.2 파이썬 IDLE

파이썬 IDLE(Integrated Development and Learning Environment)은 파이썬 프로그램을 만들 수 있도록 도와주는 통합 개발 및 학습 환경입니다.
image
① [윈도우 시작] - [Python 3.11] - [IDLE(Python 3.11 64-bit] 클릭하여 “IDLE Shell 3.11.3”을 실행합니다.
② “IDLE Shell”은 대화형 인터프리터라고 부르며 파이썬 쉘(Python Shell)이라고도 부릅니다. 파이썬 쉘은 간단한 프로그램을 작성할 수 있으며 파이썬 명령어를 한 줄씩 입력하면 한 줄씩 해석하여 실행시킵니다.
③ “IDLE Shell”의 “File” 메뉴에서 “New File”을 선택하면 파이썬 소스코드를 작성할 수 있는 편집기가 나옵니다. 이 편집기를 이용하여 코드를 작성합니다.

1.3 나의 첫 GUI 프로그래밍

기본적인 윈도우창을 만드는 방법을 살펴봅시다. 파이썬 IDLE를 실행하고 아래와 같이 소스코드를 작성합니다. 소스코드를 작성하고 파일명을 “ex1_basic_window.py”로 저장합니다. 저장이 되면 제목표시줄에 파일명과 파일의 위치가 아래와 같이 표시됩니다.
image
① 첫번째 줄은 tkinter 모듈을 사용하기 위해서 작성합니다.
image
② 2행은 root라는 이름의 윈도우 창을 만듭니다. Tk(screenName=None, baseName=None, className=’Tk’, useTk=1) 클래스는 인자 없이 인스턴스화됩니다.
여기서 인자는 screenName, baseName, className, useTk 입니다. 인스턴스는 클래스의 복제본으로 이미 만들어져있는 클래스의 복제본인 인스턴스를 이용하여 프로그래밍합니다.
Tk는 최상의 위젯을 만드는데, 일반적으로 응용 프로그램의 메인 창을 이야기합니다.
다시말해, 2행은 root라는 인스턴스인데, 이 인스턴스는 윈도우창을 만드는 Tk 클래스의 복제본입니다.
클래스와 인스턴스는 객체지향프로그래밍의 개념을 이해해야 합니다.
이번 장에서는 코드를 입력하고 따라해 보면서 실행결과로 이해하도록 노력해 봅시다.
image
③ 5행은 윈도의 창의 제목을 나타냅니다. “Hello Tkinter”라는 문자열을 윈도우 창의 제목표시줄에 나타냅니다.
image
④ 7행은 윈도우 창의 크기를 설정할 수 있습니다. root.geometry(”창의 너비x창의 높이x창의 가로방향 위치, 창의 세로방향 위치)를 의미합니다. 창의 가로방향 위치와 세로방향 위치는 생략할 수 있습니다.
image
⑤ 9행은 프로그램이 종료되기 전까지 버튼 클릭, 키보드 입력 등의 이벤트가 발생되면 해당 이벤트를 실행할 수 있도록 합니다.
아직 이벤트 관련 내용이 없지만 이벤트를 기다리고 GUI를 업데이트하는데 도움이 되는 중요한 역할을 합니다.
mainloop()를 사용하지 않으면 윈도우 창 화면에 아무 것도 나타나지 않습니다. 이 메소드는 생성된 모든 개체(위젯)를 사용하고 상호작용을 합니다.
image
⑥ 코드를 실행하는 방법은 키보드의 F5 키를 누르면 됩니다.
지금은 간단한 윈도우 창을 만들고 창의 제목과 크기를 설정하였습니다.
앞으로는 이 윈도우 창에 다양한 위젯을 사용하는 방법을 익힐 것입니다.

댓글남기기