Python tkinter Message

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