tkinter widget options
tkinter
에서 위젯을 생성할 때 다양한 옵션을 사용하여 위젯의 모양과 동작을 제어할 수 있습니다. 각 위젯(예: Button
, Label
, Entry
, Text
, Frame
등)에는 고유한 옵션이 있지만, 공통적으로 사용할 수 있는 일반적인 옵션도 있습니다. 아래에서는 tkinter
위젯의 공통 옵션과 주요 위젯의 개별 옵션을 정리해보겠습니다.
1. 공통 위젯 옵션
모든 tkinter
위젯이 공통적으로 사용하는 옵션입니다.
옵션 | 설명 |
---|---|
bg or background | 위젯의 배경색을 지정합니다. 예: 'red' , '#FF5733' |
fg or foreground | 텍스트의 색상을 지정합니다. 예: 'blue' , '#0000FF' |
font | 텍스트의 폰트와 크기를 지정합니다. 예: ('Arial', 12, 'bold') |
padx | 위젯의 가로 방향 내부 패딩 (위젯의 내부 여백) |
pady | 위젯의 세로 방향 내부 패딩 |
width | 위젯의 가로 크기 (문자 수 또는 픽셀로 지정) |
height | 위젯의 세로 크기 (문자 수 또는 픽셀로 지정) |
cursor | 마우스 커서가 위젯 위에 있을 때 표시할 커서의 모양 |
relief | 위젯의 테두리 스타일 ('flat' , 'raised' , 'sunken' , 'ridge' , 'solid' , 'groove' ) |
state | 위젯의 상태 ('normal' , 'disabled' , 'active' ) |
anchor | 위젯의 내용 정렬 방식 ('n' , 'ne' , 'e' , 'se' , 's' , 'sw' , 'w' , 'nw' , 'center' ) |
2. 주요 위젯의 옵션
2.1 Button
위젯 옵션
버튼 위젯은 사용자 입력을 처리하기 위해 사용됩니다.
옵션 | 설명 |
---|---|
text | 버튼에 표시할 텍스트 |
command | 버튼이 클릭되었을 때 호출할 함수 |
image | 버튼에 이미지 표시 (예: PhotoImage 객체) |
compound | 텍스트와 이미지를 함께 표시하는 경우의 정렬 방식 ('left' , 'right' , 'top' , 'bottom' , 'center' ) |
underline | 텍스트에서 밑줄을 그을 위치 (인덱스) |
wraplength | 텍스트를 여러 줄로 감싸는 최대 너비 (픽셀 단위) |
예제:
button = tk.Button(root, text="Click Me", command=handle_click, bg="blue", fg="white")
2.2 Label
위젯 옵션
라벨 위젯은 텍스트나 이미지를 표시할 때 사용됩니다.
옵션 | 설명 |
---|---|
text | 라벨에 표시할 텍스트 |
image | 라벨에 표시할 이미지 (PhotoImage 객체) |
justify | 여러 줄 텍스트의 정렬 방식 ('left' , 'center' , 'right' ) |
wraplength | 텍스트를 여러 줄로 감싸는 최대 너비 (픽셀 단위) |
예제:
label = tk.Label(root, text="Hello, World!", font=("Arial", 16), fg="green")
2.3 Entry
위젯 옵션
텍스트 입력을 받기 위한 단일 줄 입력 필드입니다.
옵션 | 설명 |
---|---|
show | 입력된 텍스트를 가리기 위한 문자 (예: 비밀번호 입력 시 '*' ) |
textvariable | 입력된 텍스트를 저장하는 StringVar 객체 |
justify | 텍스트 정렬 방식 ('left' , 'center' , 'right' ) |
validate | 입력 검증 방식 ('focus' , 'focusin' , 'focusout' , 'key' , 'all' , 'none' ) |
validatecommand | 입력 검증을 위한 함수 |
예제:
entry = tk.Entry(root, show='*', width=30)
2.4 Text
위젯 옵션
여러 줄의 텍스트를 입력하고 편집할 수 있는 위젯입니다.
옵션 | 설명 |
---|---|
wrap | 텍스트 자동 줄바꿈 모드 ('none' , 'char' , 'word' ) |
height | 위젯의 높이 (줄 수) |
width | 위젯의 너비 (문자 수) |
undo | 실행 취소 기능 활성화 여부 (True , False ) |
state | 텍스트 위젯의 상태 ('normal' , 'disabled' ) |
예제:
text = tk.Text(root, height=10, width=40, wrap='word')
2.5 Frame
위젯 옵션
다른 위젯들을 포함하고 배치하는 컨테이너 위젯입니다.
옵션 | 설명 |
---|---|
borderwidth | 프레임의 테두리 두께 |
relief | 프레임의 테두리 스타일 |
bg | 프레임의 배경색 |
예제:
frame = tk.Frame(root, bg='gray', relief='sunken', borderwidth=2)
3. 옵션 설정 방법
위젯 생성 시 옵션을 전달하여 설정할 수 있으며, 위젯 생성 후에도 config()
또는 configure()
메서드를 사용해 변경할 수 있습니다.
예제:
button = tk.Button(root, text="Submit", bg="blue")
button.config(fg="white", font=("Arial", 12))
요약
tkinter
위젯의 옵션을 통해 배경색, 글꼴, 패딩, 크기 등 다양한 속성을 설정할 수 있습니다.- 위젯 생성 시 또는 이후에
config()
메서드로 옵션을 변경할 수 있습니다. - 각 위젯마다 고유한 옵션이 있으며, 적절한 옵션을 사용해 원하는 형태의 GUI를 구성할 수 있습니다.