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

Tkinter 창을 항상 다른 창 위에 표시하는 방법

GUI 프로그램을 만들다 보면 Tkinter로 생성한 창이 다른 프로그램 뒤쪽 배경에 나타나는 경우가 많습니다. 즉, 기본 상태에서는 Tkinter 창이 화면 맨 앞으로 자동으로 올라오지 않습니다.

이럴 때 attributes('-topmost', True) 속성을 사용하면 해당 창을 모든 창보다 위에 고정시킬 수 있습니다. 이 속성은 윈도우를 최상위 레벨로 끌어올려, 사용자가 다른 프로그램을 실행하더라도 Tkinter 창이 항상 가장 앞쪽에 유지되도록 합니다.

예제 코드

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

# Tkinter 윈도우(프레임) 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("600x350")

# 라벨 생성
Label(win, text="Hello World!", font=('Helvetica bold', 15)).pack(pady=20)

# 창을 모든 창 위로 올리기
win.attributes('-topmost', True)

win.mainloop()

실행 결과

위 코드를 실행하면 생성된 Tkinter 창이 다른 모든 창들 위에 항상 표시됩니다. 다른 응용 프로그램을 활성화해도 이 창은 화면 맨 앞에 그대로 유지되는 것을 확인할 수 있습니다.

참고 사항

-topmost 속성은 Windows와 macOS 환경에서 주로 동작하며, 필요에 따라 False로 설정하면 언제든지 원래 상태로 되돌릴 수 있습니다. 예를 들어 특정 조건에서만 창을 강조하고 싶다면, 버튼 클릭 이벤트 등에서 이 속성을 동적으로 변경하는 방식도 유용합니다.