⑥ LabelとEntryの配置【python tkinter sqlite3で家計簿を作る】
⑥ LabelとEntryの配置【python tkinter sqlite3で家計簿を作る】
今回はLabelとEntryウィジェットの配置をする。
設計図
前回までに作成したGUI
ラベル Label
# ラベルの作成(rootに配置,テキストの指定,フォントの指定) label1 = tk.Label(root,text="【入力画面】",font=16) label1.pack(fill="x")
ラベルが配置された。
Labelのオプション(抜粋)
オプション名 | 入力型式 | 説明 |
---|---|---|
anchor | center(デフォルト),n,ne,e,se,s,sw,w,nw | ラベル内における文字の配置場所 中心(center)からの方位角 |
background bg |
色 | 背景色 |
borderwidth bd |
integer | ラベルの枠幅 |
font | font_object | 文字のフォント |
foreground fg |
string | 文字色 |
height | integer | ラベルの縦の長さ |
justify | center(デフォルト),left,right | 複数行のテキストの文字寄せ |
relief | flat(デフォルト),sunken,raised,groove,ridge | ラベル枠の形状 ラベル枠の形状を有効にするためには、必ずborderwidthの値を1以上に設定しなければならない |
text | string | ラベルに表示させる文字 |
underline | boolean | 下線を引く場合はTrue,付けない場合はFalse(デフォルト) |
width | integer | ボタンの横の長さ |
wraplength | integer | ラベルを複数行に表示した場合における行間 |
エントリー Entry
# エントリーの作成(rootに配置,フォントの指定,文字の中央揃え,Entry横幅の指定) entry1 = tk.Entry(root,font=("",12),justify="center",width=15) entry1.pack()
1行の入力欄が作成された!
Entryのオプション(抜粋)
オプション名 | 入力型式 | 説明 |
---|---|---|
background bg |
色 | 背景色 |
borderwidth bd |
integer | エントリーの枠幅 |
font | font_object | 文字のフォント |
foreground fg |
string | 文字色 |
justify | center,left(デフォルト),right | テキストの文字寄せ |
relief | flat,sunken(デフォルト),raised,groove,ridge | エントリー枠の形状 |
width | integer | エントリーの横の長さ |
LabelとEnterを用いて入力画面を作ってみる。
# -*- coding: utf-8 -*- import tkinter as tk # rootフレームの設定 root = tk.Tk() root.title("家計簿アプリ") root.geometry("300x280") # メニューの設定 frame = tk.Frame(root,bd=2,relief="ridge") 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") # 入力画面ラベルの設定 label1 = tk.Label(root,text="【入力画面】",font=("",16),height=2) label1.pack(fill="x") # 日付のラベルとエントリーの設定 frame1 = tk.Frame(root,pady=10) frame1.pack() label2 = tk.Label(frame1,font=("",14),text="日付") label2.pack(side="left") entry1 = tk.Entry(frame1,font=("",14),justify="center",width=15) entry1.pack(side="left") # 内訳のラベルとエントリーの設定 frame2 = tk.Frame(root,pady=10) frame2.pack() label3 = tk.Label(frame2,font=("",14),text="内訳") label3.pack(side="left") entry2 = tk.Entry(frame2,font=("",14),justify="center",width=15) entry2.pack(side="left") # 金額のラベルとエントリーの設定 frame3 = tk.Frame(root,pady=10) frame3.pack() label4 = tk.Label(frame3,font=("",14),text="金額") label4.pack(side="left") entry3 = tk.Entry(frame3,font=("",14),justify="center",width=15) entry3.pack(side="left") # 登録ボタンの設定 button4 = tk.Button(root,text="登録",font=("",16),width=10,bg="gray") button4.pack() # メインループ root.mainloop()
入力画面が完成した!!
今回はここまで!
次回は表示画面を作成する。
質問や記事の間違いがありましたらコメントお願いします。
前の記事
⑤ FrameとLabelFrameの違い【python tkinter sqlite3で家計簿を作る】
次の記事
⑦ GUIの実装 sqlite3への登録【python tkinter sqlite3で家計簿を作る】