Messageウィジェットを使ってみよう
今回はMessageウィジェットを使って画面に文字列を表示してみましょう。
Labelウィジェットとの違いは、Labelウィジェットは1行しか表示できませんが、Messageウィジェットは複数行表示できます。
Messageウィジェットの書式
Messageウィジェットの使い方は、以下の通りです。
※ tkinterを別名でインポートした場合は、tkinterの部分を別名にしてください。
オブジェクト名 = tkinter.Message(master=親ウィジェット, オプション)
第1引数はMessageウィジェットの親ウィジェットを指定します。
また、masterは省略することができます。
Messageウィジェットで使うオプション
Messageで使う主なオプションは、以下の通りです。
オプション名 | 内容 |
text | メッセージに表示する文字列 |
textvariable | Tkinter変数を関連付ける |
font | 使用するフォント *1 |
fg/foreground | ラベルの色 *2 |
bg/background | 背景の色 *2 |
aspect | 高さと幅のアスペクト比。デフォルトは150 デフォルトでは高さ100に対して幅は150となる (widthオプションが設定されている場合は無視される) |
width | ウィジェットの幅。単位はピクセル |
justify | 複数行の揃えの指定。left、right、center が指定可能。デフォルトは left |
padx | 水平方向のパディング。単位はピクセル。デフォルトは-1 |
pady | 垂直方向のパディング。単位はピクセル。デフォルトは-1 |
*1 指定できるフォントは、tkinter.font.families()で確認できます。
*2 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
Messageウィジェットを使ったプログラム
Messageのオプションを指定したプログラムは、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
### インポート import tkinter ### メイン画面作成 main = tkinter.Tk() ### 画面サイズ設定 main.geometry("640x400") ### メッセージ mes = "これはメッセージ(Message)ウィジェットです" message1 = tkinter.Message(master=main, text=mes, font=("HG丸ゴシックM-PRO",24), fg="blue", bg="lime", width=500) message2 = tkinter.Message(master=main, text=mes, font=("HG丸ゴシックM-PRO",24), fg="blue", bg="lime", width=500, justify="right") message3 = tkinter.Message(master=main, text=mes, font=("HG丸ゴシックM-PRO",24), fg="blue", bg="lime", aspect=500, justify="center") ### メッセージ配置 message1.pack(pady=10) message2.pack(pady=10) message3.pack(pady=10) ### イベントループ main.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。