Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Tkinter로 멋진 GUI 프로그램 만들기: 덧셈 계산기 예제로 배우는 기초

Tkinter는 파이썬의 표준 GUI 라이브러리로, Tk GUI 툴킷에 대한 객체 지향 인터페이스를 제공합니다. 이 라이브러리를 활용하면 놀라울 정도로 짧은 시간 안에 시각적으로 뛰어난 애플리케이션을 만들 수 있습니다. GUI에서의 동작은 대부분 그래픽 요소를 직접 조작하는 방식으로 수행됩니다.

이번 글에서는 간단한 '덧셈' 애플리케이션을 예제로 삼아, Tkinter를 사용해 얼마나 쉽게 매력적인 GUI를 만들 수 있는지 살펴보겠습니다. GUI의 핵심은 위젯(widget)과 창(window)인데, 이 두 가지 모두 Tkinter에서 기본으로 제공됩니다.

기본 구조 이해하기

먼저 Tkinter 라이브러리를 임포트한 후, window 객체를 생성합니다(클래스 Tk를 사용하여 window 객체를 만듭니다). 그다음 텍스트나 이미지를 표시할 수 있는 label 위젯을 생성합니다. 위젯을 창에 배치하고 실행하면 결과 화면을 확인할 수 있습니다.

예제 코드

# 필요한 라이브러리 임포트
from tkinter import *
win = Tk()
win.geometry("700x300")

def sum():
    a = int(entry1.get())
    b = int(entry2.get())
    c = a + b
    # insert(index, value)
    entry3.insert(0, c)

def clearing():
    # delete(0, END)
    entry1.delete(0, END)
    entry2.delete(0, END)
    entry3.delete(0, END)

label1 = Label(win, text="첫 번째 숫자 입력:", padx=20, pady=10)
label2 = Label(win, text="두 번째 숫자 입력:", padx=20, pady=10)

entry1 = Entry(win, width=30, borderwidth=2)
entry2 = Entry(win, width=30, borderwidth=2)
entry3 = Entry(win, width=30, borderwidth=2)

add = Button(win, text="더하기", padx=20, pady=10, command=sum)

clear = Button(win, text="지우기", padx=20, pady=10, command=clearing)

label1.grid(row=0, column=0)
label2.grid(row=1, column=0)

entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
add.grid(row=2, column=0)
entry3.grid(row=3, column=0)
clear.grid(row=2, column=1)

win.mainloop()

실행 결과

위 코드를 실행하면 기본적인 덧셈 위젯이 포함된 창이 화면에 나타납니다.

파이썬 Tkinter로 멋진 GUI 프로그램 만들기: 덧셈 계산기 예제로 배우는 기초

이제 입력란에 두 개의 숫자를 입력한 뒤 더하기 버튼을 클릭하면 두 숫자의 합이 표시되고, 지우기 버튼을 클릭하면 화면이 초기화되어 새로운 계산을 시작할 수 있습니다.

파이썬 Tkinter로 멋진 GUI 프로그램 만들기: 덧셈 계산기 예제로 배우는 기초

핵심 포인트 정리

  • Tk(): 메인 윈도우 객체를 생성하는 클래스입니다.
  • geometry(): 창의 크기를 가로x세로 형태로 지정합니다.
  • Label: 텍스트나 이미지를 표시하는 위젯입니다.
  • Entry: 사용자가 한 줄 텍스트를 입력할 수 있는 입력 필드입니다.
  • Button: 클릭 이벤트를 처리하는 버튼 위젯으로, command 매개변수에 함수를 연결합니다.
  • grid(): 행(row)과 열(column) 기반으로 위젯을 배치하는 레이아웃 관리자입니다.
  • mainloop(): 이벤트 루프를 실행하여 창을 유지하고 사용자 입력에 반응하게 합니다.

이처럼 Tkinter는 몇 줄의 코드만으로도 실용적인 데스크톱 애플리케이션을 빠르게 구축할 수 있는 강력한 도구입니다. 이 예제를 바탕으로 다양한 위젯과 레이아웃을 조합하여 더 복잡한 GUI 프로그램으로 확장해 보세요.