Getting Started¶
이 가이드를 통해 개발 환경을 설정하고 첫 번째 예제를 실행해보겠습니다.
🔧 개발 환경 설정¶
1. Python 설치 확인¶
먼저 Python이 올바르게 설치되어 있는지 확인합니다:
Python 3.8+
Python 3.8 이상이 필요합니다. 구버전을 사용 중이시라면 python.org에서 최신 버전을 다운로드하세요.
2. 필요한 패키지 설치¶
프로젝트에 필요한 패키지들을 설치합니다:
# 드래그 앤 드롭 기능을 위한 패키지
pip install tkinterdnd2
# 문서화를 위한 패키지 (선택사항)
pip install mkdocs mkdocs-material
3. 프로젝트 구조 확인¶
완성된 프로젝트의 구조는 다음과 같습니다:
krenamer/
├── src/
│ ├── chapter1/ # Chapter 1: Python 기초
│ │ └── main.py
│ ├── chapter2/ # Chapter 2: Tkinter GUI 기초
│ │ └── main.py
│ ├── chapter3/ # Chapter 3: 기본 GUI 구조
│ │ └── main.py
│ ├── chapter4/ # Chapter 4: 드래그 앤 드롭
│ │ └── main.py
│ └── krenamer/ # 최종 완성 버전
│ ├── __init__.py
│ ├── core.py
│ ├── gui.py
│ └── main.py
├── docs/ # 전자책 문서
├── pyproject.toml # 패키지 설정
└── README.md
🎯 첫 번째 예제 실행¶
Chapter 1 예제 실행하기¶
가장 기본적인 GUI 예제부터 시작해보겠습니다:
정상적으로 실행되면 다음과 같은 창이 나타납니다:
기본 기능 테스트¶
- 파일 추가: "파일 추가" 버튼을 클릭하면 예시 파일들이 목록에 추가됩니다
- 파일 제거: 목록에서 파일을 선택하고 "파일 제거" 버튼으로 제거할 수 있습니다
- 이름 변경: "이름 변경" 버튼을 누르면 아직 구현되지 않았다는 메시지가 표시됩니다
예제 탐색
각 챕터별로 예제를 실행해보면서 기능이 어떻게 발전해나가는지 확인해보세요!
🔍 코드 구조 이해¶
Chapter 1의 핵심 코드¶
Chapter 1 예제의 주요 구성 요소를 살펴보겠습니다:
학습 포인트¶
tkinter 기본 개념
- 위젯 (Widget): GUI의 구성 요소 (버튼, 라벨, 텍스트박스 등)
- 레이아웃 매니저: 위젯 배치 방식 (grid, pack, place)
- 이벤트 처리: 사용자 입력에 대한 반응 처리
🎨 GUI 디자인 원칙¶
1. 사용자 친화적 인터페이스¶
# 직관적인 버튼 텍스트
add_button = ttk.Button(button_frame, text="파일 추가", command=self.add_files)
remove_button = ttk.Button(button_frame, text="파일 제거", command=self.remove_files)
rename_button = ttk.Button(button_frame, text="이름 변경", command=self.rename_files)
2. 반응형 레이아웃¶
# 그리드 가중치 설정으로 창 크기 변경에 대응
main_frame.columnconfigure(0, weight=1)
self.root.columnconfigure(0, weight=1)
self.root.rowconfigure(0, weight=1)
main_frame.rowconfigure(2, weight=1) # 리스트박스가 확장됨
3. 상태 피드백¶
# 상태바를 통한 사용자 피드백
self.status_var = tk.StringVar()
self.status_var.set("준비됨")
status_label = ttk.Label(main_frame, textvariable=self.status_var)
🚀 다음 단계¶
Chapter 1의 기본 GUI를 이해했다면, 이제 Chapter 2로 넘어가서 드래그 앤 드롭 기능을 추가해보겠습니다!
각 챕터별 학습 목표¶
챕터 | 주요 학습 내용 | 예상 소요 시간 |
---|---|---|
Chapter 1 | tkinter 기본, 레이아웃, 이벤트 | 30분 |
Chapter 2 | 드래그 앤 드롭, 파일 처리 | 45분 |
Chapter 3 | 파일명 변경 로직, 미리보기 | 60분 |
Chapter 4 | 고급 조건, 정규식, 필터링 | 90분 |
최종 완성 | 패키지화, 배포, 최적화 | 60분 |
문제가 발생했나요?
예제 실행 중 문제가 발생하면 문제해결 가이드를 참고하세요.
효과적인 학습법
- 각 예제를 직접 타이핑해보세요
- 코드를 수정해보면서 어떤 변화가 일어나는지 관찰하세요
- 이해되지 않는 부분은 Python 문서를 참조하세요