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

Python Tkinter로 테두리 없는 프레임리스 창 만들기

Tkinter란 무엇인가?

Tkinter는 파이썬으로 GUI 기반 애플리케이션을 개발할 때 가장 널리 사용되는 표준 라이브러리입니다. 버튼, 레이블, 입력창 같은 다양한 위젯을 손쉽게 추가할 수 있으며, 창의 크기나 스타일 등 필요한 속성들도 자유롭게 설정할 수 있습니다.

overrideredirect 메서드로 프레임리스 창 구현하기

타이틀 바와 테두리가 없는 깔끔한 창을 만들고 싶다면 overrideredirect 메서드를 활용하면 됩니다. 이 메서드를 호출하면 운영체제가 제공하는 기본 창 장식, 즉 닫기 버튼, 제목 표시줄, 최소화 버튼 등이 모두 제거되어 완전히 테두리 없는(borderless) 창이 생성됩니다.

overrideredirect는 True 또는 False 값을 받는 불리언(Boolean) 함수입니다. True로 설정하면 창 장식이 사라지는데, 이 경우 일반적인 방법으로는 창을 닫을 수 없으므로 Alt+F4 키를 눌러 종료해야 합니다.

예제 코드

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

# tkinter 프레임 인스턴스 생성
win = Tk()

# 창(프레임)의 크기 정의
win.geometry("700x400")

# 창에 표시할 라벨 위젯 정의
lab = Label(win, text="Hello World", font=('Time New Roman', 35), fg="green", anchor="c").pack()

# 창을 테두리 없는 상태로 변경
win.overrideredirect(True)

win.mainloop()

실행 결과

위 코드를 실행하면 타이틀 바와 테두리가 모두 제거된 프레임리스 창이 화면에 나타납니다. 초록색 "Hello World" 텍스트만 표시된 미니멀한 창을 확인할 수 있습니다.

Python Tkinter로 테두리 없는 프레임리스 창 만들기

참고 사항

overrideredirect(True)를 적용한 창은 시스템 창 컨트롤이 사라지기 때문에, 실제 애플리케이션에서는 직접 닫기 버튼 위젯을 배치하고 해당 버튼의 클릭 이벤트에 win.destroy()를 연결하는 방식으로 종료 기능을 구현하는 것이 좋습니다. 또한 이 메서드는 mainloop() 호출 전에 설정해야 정상적으로 적용됩니다.