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

Tkinter에서 버튼을 동적으로 생성하는 방법

이 글에서는 Tkinter 윈도우 안에서 버튼을 동적으로 생성하는 방법을 알아봅니다. 여기서 버튼을 동적으로 생성한다는 것은 반복문 등을 활용해 여러 개의 버튼을 자동으로 만들고, 각 버튼에 이벤트를 추가하여 기능을 커스터마이징하는 것을 의미합니다.

먼저 노트북(개발 환경)에 tkinter 라이브러리를 임포트합니다. 그다음 Button 함수를 사용해 인스턴스를 생성하는데, 이 함수는 다음과 같은 주요 매개변수를 받습니다.

  • parent: 버튼이 배치될 부모 위젯 또는 루트 윈도우
  • textvariable: 각 버튼에 할당할 값
  • command: 버튼 클릭 시 실행할 콜백 함수

문법(Syntax)

Button(parent, textvariable, command)

예제 코드

아래 예제에서는 반복문을 사용하여 10개의 버튼을 한 줄로 배치합니다.

from tkinter import *
import tkinter as tk

# tkinter 인스턴스 생성
win = tk.Tk()

# 윈도우 크기 지정
win.geometry("700x200")

# 윈도우 제목 설정
win.title("www.tutorialspoint.com")

# 생성할 버튼의 개수
n = 10

# 버튼이 배치될 행 위치 지정
i = 3

# n까지 반복하면서 버튼을 동적으로 생성
for j in range(n):
    mybutton = Button(win, text=j)
    mybutton.grid(row=i, column=j)

# 윈도우가 닫히지 않도록 유지
win.mainloop()

실행 결과

위 코드를 실행하면 Tkinter 윈도우에 0부터 9까지 번호가 매겨진 10개의 버튼이 격자(grid) 형태로 한 행에 나란히 배치되어 출력됩니다.

Tkinter에서 버튼을 동적으로 생성하는 방법

이처럼 반복문과 grid 지오메트리 관리자를 조합하면, 버튼 하나하나를 수동으로 만들 필요 없이 원하는 개수만큼 버튼을 손쉽게 동적 생성하고 배치할 수 있습니다. 필요에 따라 각 버튼에 command 매개변수로 고유한 이벤트 핸들러를 연결하면 더욱 다양한 기능을 구현할 수 있습니다.