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

Tkinter 애플리케이션에서 메인 루프(mainloop)는 언제 호출해야 할까?


파이썬의 Tkinter는 GUI 기반의 기능적인 애플리케이션을 개발할 수 있게 해주는 표준 라이브러리입니다. 애플리케이션을 실행하면 일반적으로 여러 위젯과 타이틀 바가 포함된 창이 화면에 나타나는데, 이때 mainloop() 메서드가 스크립트를 실제로 실행하고 결과 창을 화면에 표시하는 핵심 역할을 담당합니다.

mainloop()는 이름 그대로 루프 형태로 동작하기 때문에, 사용자가 창을 닫기 전까지는 프로그램이 자동으로 종료되지 않습니다. 사용자가 프로그램 종료를 요청하면 그때 창이 닫히면서 프로그램도 함께 종료됩니다. 따라서 mainloop()는 프로그램 실행이 시작되는 시점, 즉 모든 위젯 생성과 배치가 끝난 후 스크립트의 마지막 부분에서 한 번만 호출하는 것이 올바른 사용 방법입니다. 이 호출을 통해 Tkinter는 버튼 클릭, 키 입력 같은 사용자 이벤트를 지속적으로 처리하며 화면을 갱신할 수 있습니다.

예제 코드

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

# tkinter 프레임 인스턴스 생성
win = Tk()
win.geometry("700x350")

# 라벨(Label) 위젯 추가
Label(win, text="This is a New Line Text", font=('Times New Roman', 18, 'bold')).pack(pady=40)
win.mainloop()

실행 결과

위 코드를 실행하면 다음과 같이 텍스트 메시지가 담긴 새로운 창이 화면에 나타납니다.

Tkinter 애플리케이션에서 메인 루프(mainloop)는 언제 호출해야 할까?