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

Tkinter에서 창 크기를 고정하는 방법

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 애플리케이션에서 원하는 형태의 고정 창 또는 제한된 크기 조절 환경을 손쉽게 구현할 수 있습니다.