본문 바로가기

[Tkinter] 6강 버튼 클릭 이벤트 처리하기

@도마22026. 1. 23. 21:00
728x90


이 강의는 Tkinter GUI 강의 6강입니다.
5강에서는 Button 위젯을 화면에 표시하는 방법을 배웠습니다.
이번 강의에서는 버튼을 눌렀을 때
실제로 동작이 발생하도록 만드는 방법,
이벤트 처리를 다룹니다.

이번 강의의 목표는 분명합니다.
버튼 클릭과 함수 실행을 연결하는 방법을 이해하는 것입니다.


이벤트(Event)란 무엇인가

GUI 프로그램은
사용자의 행동에 반응하여 동작합니다.

이때 사용자의 행동을
이벤트(Event)라고 부릅니다.

대표적인 이벤트는 다음과 같습니다.

  • 버튼 클릭
  • 키보드 입력
  • 마우스 이동
  • 창 닫기

이번 강의에서는
버튼 클릭 이벤트만 다룹니다.


버튼 클릭과 함수의 관계

Tkinter에서 버튼은
함수와 연결되어 동작합니다.

즉,

  • 버튼을 클릭하면
  • 지정된 함수가 실행됩니다.

이 함수 안에
원하는 동작을 작성하면 됩니다.


이벤트 처리의 기본 구조

버튼 클릭 이벤트는
다음 구조로 처리합니다.

def 함수이름():
    실행할 코드

button = tk.Button(부모, text="버튼", command=함수이름)

여기서 중요한 점이 있습니다.

  • command에는 함수 이름만 작성합니다.
  • 괄호 ()를 붙이지 않습니다.

버튼 클릭 시 실행될 함수 만들기

먼저 버튼을 눌렀을 때
실행될 함수를 하나 만들어봅니다.

def click_button():
    print("버튼이 클릭되었습니다.")

이 함수는
버튼 클릭 시 호출됩니다.


Button과 함수 연결하기

이제 Button 위젯에
command 옵션으로 함수를 연결합니다.

button = tk.Button(window, text="버튼 클릭", command=click_button)
button.pack()

이제 버튼을 클릭하면
함수가 실행됩니다.


전체 코드 예제

지금까지 내용을
하나의 코드로 정리하면 다음과 같습니다.

import tkinter as tk

window = tk.Tk()
window.title("버튼 이벤트 예제")
window.geometry("400x300")

def click_button():
    print("버튼이 클릭되었습니다.")

button = tk.Button(window, text="버튼 클릭", command=click_button)
button.pack()

window.mainloop()

버튼을 클릭할 때마다
콘솔에 메시지가 출력됩니다.


GUI에서 print가 보이는 이유

GUI 프로그램이라도
IDLE에서 실행하면
print() 결과는 콘솔에 출력됩니다.

이 방식은
이벤트 동작을 확인할 때
아주 유용합니다.

다음 강의부터
화면(Label)과 연동하게 됩니다. 


command에 괄호를 쓰면 안 되는 이유

아래 코드는
자주 발생하는 실수입니다.

command=click_button()

이렇게 작성하면
프로그램 시작과 동시에
함수가 실행되어 버립니다.

반드시
함수 이름만 전달해야 합니다.


이번 강의 핵심 정리

이번 강의에서 꼭 기억해야 할 내용입니다.

  • GUI는 이벤트 기반으로 동작한다
  • 버튼 클릭은 대표적인 이벤트다
  • command 옵션으로 함수를 연결한다
  • 함수 이름 뒤에 괄호를 쓰지 않는다

다음 강의 예고

다음 강의에서는
버튼 클릭 시 화면의 텍스트(Label)를 변경해 봅니다.

이제 GUI가
콘솔 출력이 아니라
화면 자체를 바꾸는 단계로 넘어갑니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차