Tkinter

728x90
반응형

Tkinter 라이브러리 소개

Python의 Tkinter는 GUI(그래픽 사용자 인터페이스) 애플리케이션을 개발할 때 사용되는 표준 라이브러리입니다. Tkinter를 사용하면 간단한 버튼, 레이블, 입력 필드 등을 손쉽게 만들 수 있으며, GUI 애플리케이션을 빠르게 개발할 수 있습니다.


1. Tkinter 기본 사용법

1.1 Tkinter 창 만들기

import tkinter as tk

root = tk.Tk()
root.title("Tkinter 예제")
root.mainloop()

위 코드에서 Tk() 객체를 생성하여 GUI 창을 만들고 mainloop()를 호출하여 실행합니다.

1.2 레이블 추가하기

import tkinter as tk

root = tk.Tk()
label = tk.Label(root, text="Hello, Tkinter!")
label.pack()
root.mainloop()

Label 위젯을 사용하여 창에 텍스트를 표시할 수 있습니다.

1.3 버튼 추가하기

import tkinter as tk

def on_click():
    print("버튼이 클릭되었습니다!")

root = tk.Tk()
button = tk.Button(root, text="클릭", command=on_click)
button.pack()
root.mainloop()

버튼을 생성하고 command 속성을 이용하여 클릭 이벤트를 처리할 수 있습니다.


2. 주요 Tkinter 위젯

2.1 Entry (입력 필드)

import tkinter as tk

root = tk.Tk()
entry = tk.Entry(root)
entry.pack()
root.mainloop()

사용자로부터 입력을 받을 수 있는 입력 필드를 만들 수 있습니다.

2.2 Frame (컨테이너)

import tkinter as tk

root = tk.Tk()
frame = tk.Frame(root, width=200, height=100, bg="lightblue")
frame.pack()
root.mainloop()

Frame을 사용하면 여러 개의 위젯을 그룹화하여 배치할 수 있습니다.

2.3 MessageBox (메시지 박스)

import tkinter as tk
from tkinter import messagebox

def show_message():
    messagebox.showinfo("알림", "버튼이 클릭되었습니다!")

root = tk.Tk()
button = tk.Button(root, text="알림 띄우기", command=show_message)
button.pack()
root.mainloop()

messagebox 모듈을 사용하면 팝업 메시지를 띄울 수 있습니다.


3. Tkinter 레이아웃 관리

3.1 pack() 메서드

widget.pack()

위젯을 위에서 아래로 정렬합니다.

3.2 grid() 메서드

widget.grid(row=0, column=0)

위젯을 격자 형태로 배치합니다.

3.3 place() 메서드

widget.place(x=50, y=50)

절대 위치를 기준으로 배치합니다.


4. Tkinter 활용 예제

4.1 간단한 계산기 만들기

import tkinter as tk

def calculate():
    result = eval(entry.get())
    label_result.config(text=f"결과: {result}")

root = tk.Tk()
entry = tk.Entry(root)
entry.pack()
button = tk.Button(root, text="계산", command=calculate)
button.pack()
label_result = tk.Label(root, text="결과:")
label_result.pack()
root.mainloop()

사용자로부터 수식을 입력받아 계산하는 간단한 계산기입니다.


Tkinter는 Python에서 기본으로 제공되므로 추가적인 설치 없이 사용할 수 있습니다. 간단한 GUI 애플리케이션을 만들고 싶다면 Tkinter를 활용해보세요!

728x90
반응형