Python

Python.GUI

calla1013 2025. 5. 25. 16:47
🖥️ 파이썬 Tkinter: GUI 프로그래밍으로 나만의 데스크톱 앱 만들기

🖥️ 파이썬 Tkinter: GUI 프로그래밍으로 나만의 데스크톱 앱 만들기

안녕하세요! 이제 텍스트 기반 콘솔을 넘어, 버튼을 누르고 이미지를 볼 수 있는 직관적인 GUI 앱을 직접 만들어보세요. 오늘은 Python 기본 GUI 라이브러리, Tkinter를 사용한 데스크톱 애플리케이션 제작 방법을 알려드립니다.


📌 목차

  • GUI란 무엇인가?
  • 콘솔 vs GUI
  • Tkinter 기본 구조: 윈도우와 위젯
  • 레이아웃 배치(pack, grid, place)
  • 다양한 위젯(Button, Entry, Canvas 등)
  • 이벤트 처리 및 애니메이션
  • 마무리 요약

💡 GUI(Graphical User Interface)란?

GUI는 그래픽 요소(버튼, 창, 아이콘 등)를 이용해 직관적인 방식으로 사용자와 상호작용할 수 있게 해줍니다. 명령어 입력 없이도 마우스 클릭이나 키보드 조작만으로도 앱을 제어할 수 있어, 사용자 친화적입니다.


🐍 Tkinter: 파이썬의 기본 GUI 라이브러리

Tkinter는 별도 설치 없이 사용할 수 있는 파이썬 내장 GUI 도구입니다.

import tkinter as tk

root = tk.Tk()
root.title("나의 첫 Tkinter 앱")
root.geometry("400x300")
root.mainloop()

📦 위젯과 레이아웃 배치

✅ Label 위젯 예시

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

📐 pack() 사용법

tk.Label(window, text="Hello, world!").pack(padx=20, pady=20)

📊 grid() 예시

tk.Label(window, text="이름:").grid(row=0, column=0)
tk.Entry(window).grid(row=0, column=1)

📌 place() 예시

btn.place(x=100, y=50)

🛠️ 다양한 위젯 사용법

🔘 버튼(Button) 클릭 이벤트

def button_click():
    label.config(text="버튼이 클릭되었습니다!")

📝 Entry 입력값 가져오기

user_input = entry.get()

✅ CheckButton & RadioButton

복수 선택: CheckButton / 단일 선택: RadioButton

🎨 캔버스(Canvas)에 그리기

canvas.create_oval(50, 50, 150, 150, fill="yellow")
canvas.create_rectangle(200, 100, 350, 200, fill="green")
canvas.create_text(200, 250, text="캔버스에 그리기")

📂 메뉴(Menu) 만들기

filemenu.add_command(label="새 파일", command=new_file)

🎮 이벤트 처리 & 애니메이션

🎹 키보드 이벤트 처리

def move_ball(event):
    if event.keysym == 'Left':
        canvas.move(ball, -10, 0)

🏃‍♂️ 애니메이션 처리

canvas.move(ball, x, y) # 반복적으로 이동

✅ 마무리 요약

  • Tkinter는 설치 없이 바로 사용 가능!
  • 루트 윈도우 생성 → 위젯 추가 → 레이아웃 배치 → 이벤트 처리
  • 직관적이고 유저 친화적인 데스크톱 앱을 만들 수 있음

이제 여러분만의 간단한 메모 앱, 게임, 이미지 뷰어까지 만들어볼 수 있어요!


'Python' 카테고리의 다른 글

Matplotlib_Cheat_  (0) 2025.05.25
Pandas_Cheat_  (0) 2025.05.25
Python.데이터 수집  (0) 2025.05.25
Python.DB 활용  (0) 2025.05.25
Python.기초  (0) 2025.05.25