Tkinter 애플리케이션을 실행하면 기본적으로 정해진 너비와 높이를 가진 창이 화면에 표시됩니다. 그런데 사용자가 마우스로 창의 크기를 임의로 늘리거나 줄이지 못하도록 고정된 크기의 창을 만들어야 하는 경우가 있습니다.
이럴 때 사용하는 것이 바로 resizable() 메서드입니다. 이 메서드는 두 개의 인자를 받으며, 각각 창의 너비와 높이에 대한 크기 조절 가능 여부를 결정합니다. 두 인자 모두 False(또는 0)를 전달하면 창 크기가 완전히 고정되어 사용자가 크기를 변경할 수 없게 됩니다.
예제 코드
#Import the tkinter library
from tkinter import *
#Create an instance of tkinter frame
win = Tk()
#Set the geometry
win.geometry("650x350")
#Make Constant size Window
win.resizable(False, False)
#Create a Label
Label(win, text= "Hello!", font= ('Helvetica bold', 15)).pack(pady= 20)
win.mainloop()코드 설명
geometry("650x350"): 창의 초기 크기를 가로 650픽셀, 세로 350픽셀로 지정합니다.resizable(False, False): 첫 번째 인자는 너비, 두 번째 인자는 높이의 크기 조절을 허용할지 설정합니다. 둘 다False이므로 창 크기가 고정됩니다.Label(...): 창 중앙 상단에 'Hello!'라는 텍스트 레이블을 배치합니다.
실행 결과
위 코드를 실행하면 너비와 높이가 고정된 650x350 크기의 창이 나타나며, 사용자가 창의 테두리를 드래그해도 크기가 변하지 않습니다.
참고: 부분적으로만 크기 조절 허용하기
창 크기를 완전히 고정하지 않고 한 방향만 조절 가능하게 하려면 다음과 같이 설정할 수 있습니다.
win.resizable(True, False)→ 가로(너비)만 조절 가능win.resizable(False, True)→ 세로(높이)만 조절 가능
이처럼 resizable() 메서드를 활용하면 Tkinter 애플리케이션에서 원하는 형태의 고정 창 또는 제한된 크기 조절 환경을 손쉽게 구현할 수 있습니다.