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

Tkinter에서 버튼 위젯을 업데이트하는 다양한 방법


Tkinter에서는 configure() 메서드를 활용하면 버튼(Button) 위젯의 속성을 언제든지 자유롭게 업데이트할 수 있습니다. 버튼의 크기를 변경하거나, 배경색을 바꾸거나, 테두리를 제거하는 등 다양한 수정이 가능합니다.

아래 예제에서는 세 개의 버튼 위젯을 생성하고, 각 버튼을 클릭하면 서로 다른 함수를 호출하여 자신의 속성을 변경하도록 구현했습니다.

예제 코드

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# tkinter 프레임 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("700x300")

# 버튼 크기를 키우는 함수
def Button_Size():
   button1.configure(font=('Calibri 20 bold'))

# 배경색을 변경하는 함수
def Button_Color():
   button2.configure(bg='green')

# 테두리를 제거하는 함수
def Button_Border():
   button3.configure(borderwidth=0)

# 첫 번째 버튼
button1 = Button(win, text="버튼 크기 키우기", command=Button_Size)
button1.pack(pady=20)

# 두 번째 버튼
button2 = Button(win, text="배경색 변경하기", command=Button_Color)
button2.pack(pady=20)

# 세 번째 버튼
button3 = Button(win, text="테두리 제거하기", command=Button_Border)
button3.pack(pady=20)

win.mainloop()

동작 원리

핵심은 configure() 메서드입니다. 이 메서드는 위젯이 생성된 이후에도 옵션 값을 동적으로 변경할 수 있게 해주며, font(글꼴), bg(배경색), borderwidth(테두리 두께) 등 다양한 옵션을 지원합니다. 각 버튼은 command 매개변수를 통해 클릭 이벤트에 함수를 연결하고, 해당 함수가 실행될 때 자신의 속성을 업데이트합니다.

실행 결과

프로그램을 실행하면 먼저 다음과 같은 창이 표시됩니다.

Tkinter에서 버튼 위젯을 업데이트하는 다양한 방법

"버튼 크기 키우기" 버튼을 클릭하면 글꼴 크기가 커지면서 버튼 전체가 다음과 같이 확대됩니다.

Tkinter에서 버튼 위젯을 업데이트하는 다양한 방법

"배경색 변경하기" 버튼을 클릭하면 버튼의 배경색이 초록색으로 바뀝니다.

Tkinter에서 버튼 위젯을 업데이트하는 다양한 방법

"테두리 제거하기" 버튼을 클릭하면 버튼의 테두리가 사라지고 평평한 형태로 표시됩니다.

Tkinter에서 버튼 위젯을 업데이트하는 다양한 방법