Python tkinter Message에 대해 살펴보겠습니다.
Message는 문자열을 출력하는 위젯입니다.
* Label과의 차이점
Label 또한 문자를 출력할 수 있는 위젯으로 흔히 사용하고 있습니다.
Message와의 차이점은 아래와 같습니다.
- Message는 문자열만 가능한 반면 Label은 Image도 출력 가능합니다.
- Label과 Message는 Width, Height 옵션의 개념이 상이합니다.
( Label은 width, height 옵션의 지정 길이 높이가 고정적인 반면,
Message >> width 옵션의 지정 값은 최댓값입니다.
Message 내용이 길지 않다면 적다면 설정한 width 보다 짧은 길이의 위젯이 됩니다.
height 옵션 설정은 안 하지만 내용이 길다면 줄이 계속 생기면서 높이가 길어집니다. )
Message 만들기
Message는 tkinter에 Message(window) 함수로 생성합니다.
매개변수로 Message가 생성될 window를 넣어줘야 합니다.
생성한 후 pack() 함수로 Message를 화면에 배치합니다.
import tkinter
win = tkinter.Tk();
message = tkinter.Message(win);
message.pack();
win.mainloop();
이렇게 Message를 생성했습니다.
해당 Message에 옵션을 설정해줘서 실전처럼 사용해보겠습니다.
import tkinter
win = tkinter.Tk();
message = tkinter.Message(win, text='hello, this is Message!');
message.config(width=100, relief='solid');
message.pack();
win.mainloop();
옵션은 선언할 때 파라미터로 넣거나, config() 함수로 설정할 수 있습니다.
옵션들을 살펴보겠습니다.
Message의 옵션들
1. Message의 문자열 관련
이름 | 기능 | 기본값 | 속성 |
text | Message에 표시할 문자열 | ||
textvariable | Message에 표시할 문자열 변수 | 변수 | |
justify | Message의 문자열이 여러줄일 때 정렬 | center | center, left, right |
anchor | Message내 문자열의 위치 | center | n, ne, nw, s, se, sw, w, e, center |
font | Message내 문자열 글꼴 | TkDefaultFont | font |
2. Message의 디자인 관련
이름 | 기능 | 기본값 | 속성 |
width | Message의 최대 길이 | 0 | 숫자 |
relief | Message의 테두리 모양 | flat | flat, raised, groove, ridge, solid, sunken |
borderwidth | Message의 테두리 두께 | 1 | 숫자 |
background | Message의 배경색상 | SystemButtonFace | color |
foreground | Message의 문자열 색상 | SystemButtonFace | color |
cursor | Message의 마우스 커서모양 | pointer, arrow등 curosr속성 | |
padx | Message의 가로 내부여백 ( padding ) |
-1 | 숫자 |
pady | Message의 세로 내부여백 ( padding ) |
-1 | 숫자 |
aspect | Message의 높이에 대한 넓이 비율 | 150 | 숫자 |
highlightcolor | Message가 선택되었을때 하이라이트 색상 | SystemWindowFrame | color |
highlightbackground | Message가 선택되지 않았을때 색상 | SystemButtonFace | color |
highlightthickness | Message가 선택되었을 때 하이라이트 두께 | 0 | 숫자 |
3. Message의 동작 관련
이름 | 기능 | 기본값 | 속성 |
takefocus | Tab키를 이용하여 위젯 이동 허용 | True | Boolean |