
이 강의는 Tkinter GUI 강의 7강입니다.
6강에서는 버튼 클릭 이벤트를 처리하는 방법을 배웠습니다.
이번 강의에서는 버튼을 눌렀을 때
화면에 보이는 텍스트(Label)가 실제로 바뀌도록 만들어봅니다.
이번 강의의 목표는 명확합니다.
이벤트 → 함수 실행 → 화면 변경의 흐름을 이해하는 것입니다.
화면을 바꾼다는 의미
GUI 프로그램에서 “동작한다”는 것은
콘솔에 출력되는 것이 아니라
화면 자체가 변하는 것을 의미합니다.
예를 들면 다음과 같습니다.
- 버튼을 누르면 글자가 바뀐다
- 상태 메시지가 업데이트된다
- 안내 문구가 변경된다
이번 강의에서는
Label의 텍스트를 변경하는 가장 기본적인 방법을 다룹니다.
Label 텍스트를 바꾸는 방법
Tkinter의 Label 위젯은
생성 이후에도 속성을 변경할 수 있습니다.
가장 간단한 방법은
config() 메서드를 사용하는 것입니다.
label.config(text="새로운 글자")
이 코드를 실행하면
Label에 표시된 텍스트가 즉시 변경됩니다.
버튼 클릭 시 Label 변경 흐름
전체 흐름은 다음과 같습니다.
- Label 위젯을 미리 생성한다
- 버튼 클릭 시 실행될 함수를 만든다
- 함수 안에서 Label의 text를 변경한다
이 구조가
GUI 이벤트 처리의 기본 패턴입니다.
Label과 Button 준비하기
먼저 Label과 Button을
화면에 함께 배치합니다.
import tkinter as tk
window = tk.Tk()
window.title("Label 변경 예제")
window.geometry("400x300")
label = tk.Label(window, text="버튼을 눌러보세요")
label.pack()
이 상태에서는
아직 버튼이 없습니다.
버튼 클릭 시 실행될 함수 만들기
버튼을 클릭하면
Label의 글자를 바꾸는 함수를 만듭니다.
def change_text():
label.config(text="글자가 변경되었습니다")
이 함수는
Label 객체를 직접 수정합니다.
Button과 함수 연결하기
이제 Button을 만들고
함수를 연결합니다.
button = tk.Button(window, text="클릭", command=change_text)
button.pack()
버튼을 클릭하면
change_text() 함수가 실행됩니다.
전체 코드 정리
지금까지의 내용을
하나의 코드로 정리하면 다음과 같습니다.
import tkinter as tk
window = tk.Tk()
window.title("Label 변경 예제")
window.geometry("400x300")
label = tk.Label(window, text="버튼을 눌러보세요")
label.pack()
def change_text():
label.config(text="글자가 변경되었습니다")
button = tk.Button(window, text="클릭", command=change_text)
button.pack()
window.mainloop()
버튼을 클릭할 때마다
Label의 텍스트가 바뀌는 것을 확인할 수 있습니다.
왜 이 예제가 중요한가
이 예제는
아주 단순해 보이지만
GUI의 핵심 구조를 모두 포함하고 있습니다.
- 이벤트 발생
- 함수 실행
- 화면 상태 변경
이 패턴을 이해하면
복잡한 GUI 프로그램도
같은 방식으로 확장할 수 있습니다.
이번 강의 핵심 정리
이번 강의에서 꼭 기억해야 할 내용입니다.
- Label의 텍스트는 실행 중에도 변경할 수 있다
- config()로 위젯 속성을 수정한다
- 버튼 클릭 이벤트로 화면을 바꿀 수 있다
- GUI는 상태 변화가 화면에 바로 반영된다
다음 강의 예고
다음 강의에서는
Entry 위젯을 사용해서 사용자의 입력을 받아봅니다.
이제 GUI가
단순히 보여주고 바꾸는 단계에서
사용자의 값을 직접 다루는 단계로 넘어갑니다.
'⚙️ Python > 🪟 Tkinter 기초' 카테고리의 다른 글
| [Tkinter] 9강 Entry 입력값을 Label에 출력하기 (0) | 2026.01.25 |
|---|---|
| [Tkinter] 8강 Entry 위젯으로 사용자 입력 받기 (0) | 2026.01.24 |
| [Tkinter] 6강 버튼 클릭 이벤트 처리하기 (0) | 2026.01.23 |
| [Tkinter] 5강 Button 위젯 사용하기 (0) | 2026.01.23 |
| [Tkinter] 4강 Label 위젯으로 텍스트 표시하기 (0) | 2026.01.22 |