Tkinter grid 배치: weight와 sticky로 창 크기 대응
grid에서 창 크기에 따라 입력창을 늘리려면 해당 행·열의 weight와 위젯의 sticky를 함께 지정합니다.
어떤 상황에서 적용하나요?
아래는 이름 입력창이 가로 공간을 채우는 작은 화면입니다. 같은 부모 컨테이너에서는 pack과 grid를 섞지 않습니다. 서로 다른 Frame 안에서는 별도로 배치 관리자를 사용할 수 있습니다.
검증 범위: 아래 코드는 문법을 점검한 GUI·브라우저 예제입니다. 이 사이트의 점검 환경에서는 실제 창 실행을 검증하지 않았으며 해당 실행 환경에서 수동 확인이 필요합니다.
최소 예제로 동작 확인하기
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("보고서 설정")
root.columnconfigure(1, weight=1)
ttk.Label(root, text="보고서 이름").grid(row=0, column=0, padx=10, pady=10)
entry = ttk.Entry(root)
entry.grid(row=0, column=1, sticky="ew", padx=10, pady=10)
ttk.Button(root, text="닫기", command=root.destroy).grid(
row=1, column=1, sticky="e", padx=10, pady=10)
root.minsize(320, 120)
root.mainloop()
결과는 어떻게 확인하나요?
창을 넓히면 두 번째 열의 입력창이 함께 늘어나는지 확인하세요. sticky만 설정하고 열 weight가 0이면 남는 공간이 그 열에 배분되지 않을 수 있습니다.
실제 업무에 적용할 때 확인할 점
고정 픽셀 크기만으로 화면을 맞추면 글꼴·배율·번역 문구에 따라 잘릴 수 있습니다. 최소 크기와 키보드 탭 이동을 시험하고, 복잡한 화면은 기능별 Frame으로 나누세요. 작업 실행 중 창 닫기 동작도 별도로 정의해야 합니다.
공식 자료와 다음 단계
관련 공식 문서에서 사용하는 버전의 기능과 제한을 확인하세요.
학습 경로: 업무 자동화 가이드 · 입력 오류 처리
작성: 로그 · 2026-10-17 수정: 확인되지 않은 경험담과 성능 보장 표현을 제거하고 예제·적용 조건·공식 근거를 보완했습니다.
댓글
댓글 쓰기