Frameウィジェットを使ってみよう
今回はFrameウィジェットを使って、ラベルを複数表示させてみましょう。
フレームとはウィジェットを格納する枠組みのことです。
Frameウィジェットの書式
Frameウィジェットの使い方は、以下の通りです。
※ tkinterを別名でインポートした場合は、tkinterの部分を別名にしてください。
オブジェクト名 = tkinter.Frame(master=親ウィジェット, オプション)
第1引数はFrameウィジェットの親ウィジェットを指定します。
また、masterは省略することができます。
Frameウィジェットで使うオプション
Frameウィジェットで使う主なオプションは、以下の通りです。
オプション名 | 内容 |
bg/background | 背景の色 *1 |
bd/borderwidth | フレームの境界線の幅。デフォルトは0(境界線なし) |
relief | フレームの形状。flat、raised、sunken、groove、ridgeを指定。デフォルトはflat *2 |
*1 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
*2 フレームの形状は、以下の画像のようになります。
Frameウィジェットを使ったプログラム
以下のプログラムは、単純にフレームにラベルを3つ並べただけのプログラムです。
ラベルの親ウィジェットに、Frameウィジェットを指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
### インポート import tkinter ### フレーム frame = tkinter.Frame(master=None) ### ラベル label1 = tkinter.Label(master=frame, text="ラベル1", font=("HG丸ゴシックM-PRO",24), fg="#FF0000", bg="gray", height=2, width=8) label2 = tkinter.Label(master=frame, text="ラベル2", font=("HG丸ゴシックM-PRO",24), fg="#00FF00", bg="gray", height=2, width=8) label3 = tkinter.Label(master=frame, text="ラベル3", font=("HG丸ゴシックM-PRO",24), fg="#0000FF", bg="gray", height=2, width=8) ### ラベル配置 label1.pack() label2.pack() label3.pack() ### フレーム配置 frame.pack() ### イベントループ frame.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。
ラベルを横に並べるには、以下のようにpack(side="left")とします。
1 2 3 |
label1.pack(side="left") label2.pack(side="left") label3.pack(side="left") |
プログラムを実行すると、以下のような画面が表示されます。