Python Code Notes

Information by python engineer

【tkinter】Messageの使い方【Python】

f:id:vigilantPotato:20210517113005p:plain
複数行にわたって文字列を表示する際に使用するMessageについて、基本的な使い方とLabelとの違いを整理した。


【スポンサーリンク】


Messageの概要

Messageは文字列を表示するためのウィジェットである。Labelと同じような性能だが、複数行にわたって文字列を表示することができるため、長いメッセージ等を表示させる際に便利。
以下に、同じ文字列をMessageとLabelで表示させて違いを確認した結果を示す。

import tkinter

root = tkinter.Tk()

#表示する文字列
comment = "MessageとLabelの違いを確認してみよう。"

#Message
m = tkinter.Message(
    root,
    relief="raised",
    text=comment,
    )
m.pack()

#Label
l = tkinter.Label(
    root,
    relief="raised",
    text=comment,
    )
l.pack()

root.mainloop()

下のLabelは文字列の長さに合わせて横幅が自動調整されているのに対し、Messageは複数行に改行して表示されていることが分かる。

f:id:vigilantPotato:20210517113109p:plain

[↑ 目次へ]


【スポンサーリンク】


アスペクト比の設定

Messageの縦横比はデフォルトで150(縦100に対して横150)だが、 オプションのaspectを用いることで縦横比を調整することが可能になる。以下、縦横比を300に変更した例を示す。

import tkinter

root = tkinter.Tk()

#表示する文字列
comment = "aspectオプションで画面を調整してみよう。"

#Message(aspect=デフォルト:150)
m = tkinter.Message(
    root,
    relief="raised",
    text=comment,
    )
m.pack()

#Message(aspect=300)
m2 = tkinter.Message(
    root,
    aspect=300, #縦100に対して横300
    relief="raised",
    text=comment,
    )
m2.pack()

root.mainloop()

上がデフォルト(150)、下が300に設定したときのMessageとなる。下側では横幅が広がり、縦に対する比率が3倍になっていることが分かる。

f:id:vigilantPotato:20210517113134p:plain

[↑ 目次へ]


【スポンサーリンク】


オプション

主なオプション 動作
aspect 縦横比(デフォルト:150)
background(bg) 背景色
borderwidth(bd) 境界幅
text 表示させる文字列
textvaliable variableで文字列を設定する場合に使用(通常StringVar)

[↑ 目次へ]


【スポンサーリンク】