⑤ FrameとLabelFrameの違い【python tkinter sqlite3で家計簿を作る】
⑤ FrameとLabelFrameの違い【python tkinter sqlite3で家計簿を作る】
今回は、FrameとLabelFrameという機能を掘り下げていきたい。
前回の記事では、Buttonのウィジェットをpackメソッドを用いて、画面上に配置したが、packメソッドでは、思った通りの場所にウィジェットを配置できないことが多い。
そのため、Frameというウィジェットを配置する枠を画面上に配置して、その中にウィジェットを入れると簡単にレイアウトできるようになる。
設計図
前回までに作成したGUI
フレーム Frame
# -*- coding:utf-8 -*- import tkinter as tk root = tk.Tk() root.title("家計簿アプリ") root.geometry("300x300") # フレームの作成(フレームをrootに配置,フレーム淵を2pt,フレームの形状をridge) frame = tk.Frame(root,bd=2,relief="ridge") # フレームを画面に配置し、横方向に余白を拡張する frame.pack(fill="x") # 作成したフレームにボタン1を配置 button1 = tk.Button(frame,text="入力") # ボタンを左から配置する button1.pack(side="left") # 作成したフレームにボタン2を配置 button2 = tk.Button(frame,text="表示") # ボタンを左から配置する button2.pack(side="left") # 作成したフレームにボタン3を配置 button3 = tk.Button(frame,text="終了") # ボタンを右から配置する button3.pack(side="right") root.mainloop()
仕切りのあるフレームが作成された
ラベル フレーム LabelFrame
フレームにラベルを付けたウィジェットも存在する
# -*- coding:utf-8 -*- import tkinter as tk root = tk.Tk() root.title("家計簿アプリ") root.geometry("300x300") # ラベルフレームの作成(ラベルフレームのtextをmenuに設定) frame = tk.LabelFrame(root,bd=2,relief="ridge",text="menu") frame.pack(fill="x") button1 = tk.Button(frame,text="入力") button1.pack(side="left") button2 = tk.Button(frame,text="表示") button2.pack(side="left") button3 = tk.Button(frame,text="終了") button3.pack(side="right") root.mainloop()
LabelFrameのオプション(抜粋)※フレームからの差分のみ
オプション名 | 入力型式 | 説明 |
---|---|---|
text | string | ラベルに表示するテキスト |
labelanchor | n,ne,e,se,s,sw,w,nw(デフォルト) | ラベルの配置場所 |
font | font_object | 文字のフォント |
今回はここまで!
質問や記事の間違いがありましたらコメントお願いします。
前の記事
④ Buttonウィジェットの配置【python tkinter sqlite3で家計簿を作る】
次の記事
⑥ LabelとEntryの配置【python tkinter sqlite3で家計簿を作る】