본문 바로가기
Programming/Python

Tkinter 기본 연습 - 1 : 버튼과 pack() 사용법

by The Programmer 2024. 10. 26.

 

1. Introduction

 

Tkinter 연습 예제입니다. 기본 버튼 생성과 pack() 옵션들을 포함한 기본 사용법을 보여줍니다.

 

 

2. Code

 

import tkinter as tk

# 메인 윈도우 생성
root = tk.Tk()
root.configure(borderwidth=4)    # 테두리 경계 여백 두께
root.geometry("800x320+200+200")
root.title("Tkinter Example")


# 버튼 생성
button1 = tk.Button(root, text="Btn1 : 클릭하세요!")

# pack()을 실행해야 실제로 버튼이 보이게 됩니다.
button1.pack(padx=0, pady=0, ipadx=20, ipady=20, side=tk.TOP, expand=True, fill=tk.BOTH )

# 버튼 생성
button5 = tk.Button(root, text="Btn5 : 클릭하세요!")
button5.pack(padx=0, pady=0, ipadx=20, ipady=20, side=tk.BOTTOM, expand=True, fill=tk.BOTH )

순서는 중요합니다. 먼저 자리를 잡으면 우선권이 주어집니다.  1번과 5번 버튼의 순서에 주의.

# 버튼 생성
button2 = tk.Button(root, text="Btn2 : 클릭하세요!")
button2.pack(padx=0, pady=0, ipadx=20, ipady=20, side=tk.LEFT, expand=True, fill=tk.BOTH )

# 버튼 생성
button3 = tk.Button(root, text="Btn3 : 클릭하세요!")
button3.pack(padx=0, pady=0, ipadx=20, ipady=20, side=tk.LEFT, expand=True, fill=tk.BOTH )

# 버튼 생성
button4 = tk.Button(root, text="Btn4 : 클릭하세요!")
button4.pack(padx=0, pady=0, ipadx=20, ipady=20, side=tk.LEFT, expand=True, fill=tk.BOTH )

# 메인 루프 시작
root.mainloop()

 

3. Result

[ 버튼 정렬 예제 ]

 

4. Notes

pack()은 '배치관리자'라고 합니다. 1번 버튼과 5번 버튼의 순서에 주목하세요. 먼저 자리를 잡으면 버튼의 배치에 있어서 우선권이 주어집니다.

 

배치관리자는 pack() 이외에 grid(), place()도 있습니다. grid()도 필수사항입니다.

 

대소문자 구분 엄격하게 지켜야 합니다. ^.^;

 

side=tk.LEFT : 기본 정렬 기준

expand=True : 크기 확장 허용 여부

fill=tk.BOTH : 빈 공간 채우기

 

■ 응용 연습 과제

1) 가로로 나열된 12개의 버튼

2) 세로로 나열된 12개의 버튼

3) 윈도우의 크기, 버튼의 크기 수정

 

 

5. Files

 

 

Python_Tkinter_Intro_Ex_001_.py
0.00MB

 

 

6. Ref.

1) 강환수, [ 파이썬으로 배우는 누구나 코딩 ] 홍릉.

2) 천인국, [ Expert 파이썬 ] 생능.

3) 우재남, [ 파이썬 for Beginner ] 2판. 한빛아카데미 (3판도 나왔습니다.)

 

 

Happy Programming!

^.^;

 

 

 

'Programming > Python' 카테고리의 다른 글

UniCode 연습 - 001  (0) 2024.10.09
[ 고급 ] 파일명 관리 유틸리티 SR. (v.0.0.2 beta 001)  (0) 2024.10.06
[ L2P ] Python 입문 - Turtle 모듈 - 001  (0) 2024.09.15
Free IDE - Thonny  (0) 2024.09.08
turtle.pencolor() 함수  (0) 2023.12.10