Tkinter로 애플리케이션을 개발하다 보면 버튼에 설정된 텍스트(값)를 이름이나 속성을 기준으로 다시 가져와야 하는 경우가 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 .cget() 함수입니다.
.cget() 함수는 모든 Tkinter 위젯에서 지원되며, 위젯의 구성 정보(configuration)인 텍스트, 값, 이름 등을 손쉽게 조회할 수 있습니다. 인자로 원하는 옵션명을 전달하면 해당 속성의 현재 값을 반환합니다.
예제 코드
아래 예제에서는 버튼을 하나 생성한 뒤, .cget() 함수를 사용해 버튼의 텍스트를 변수 mytext에 저장합니다. 그리고 이 변수를 활용하여 레이블(Label) 위젯에 버튼의 텍스트를 화면에 출력합니다.
# tkinter 라이브러리 임포트
from tkinter import *
from tkinter import ttk
# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("750x250")
# 버튼 생성
button = ttk.Button(win, text="My Button")
button.pack()
# 버튼의 텍스트 가져오기
mytext = button.cget('text')
# 버튼 정보를 출력할 레이블 생성
Label(win, text=mytext, font=('Helvetica 20 bold')).pack(pady=20)
win.mainloop()실행 결과
위 코드를 실행하면 750x250 크기의 윈도우가 열리고, 상단에는 "My Button"이라는 텍스트를 가진 버튼이 표시됩니다. 그 아래에는 .cget() 함수로 가져온 버튼의 텍스트가 굵은 글씨체의 레이블로 함께 나타납니다.
이처럼 .cget() 함수를 사용하면 별도의 전역 변수나 복잡한 로직 없이도 위젯의 현재 설정값을 간단히 조회할 수 있어, 동적으로 UI를 제어해야 하는 상황에서 매우 유용합니다.