Entryウィジェットを使ってみよう
今回はEntryウィジェットを使って、1行の文字入力フィールドを表示してみましょう。
Entryウィジェットは1行の文字列を入力するためのGUI部品です。
Entryウィジェットの書式
Entryウィジェットの使い方は、以下の通りです。
※ tkinterを別名でインポートした場合は、tkinterの部分を別名にしてください。
オブジェクト名 = tkinter.Entry(master=親ウィジェット, オプション)
第1引数はEntryウィジェットの親ウィジェットを指定します。
また、masterは省略することができます。
Entryウィジェットで使うオプション
Entryウィジェットで使う主なオプションは、以下の通りです。
オプション名 | 内容 |
font | 使用するフォント *1 |
fg/foreground | 文字の色 *2 |
bg/background | 背景の色 *2 |
width | 入力フィールドの幅。デフォルトは20 |
textvariable | Tkinter変数を入力フィールドに関連付ける |
show | 表示する方法。デフォルトは入力された値がそのまま表示される |
*1 指定できるフォントは、tkinter.font.families()で確認できます。
*2 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
Entryウィジェットを使ったプログラム
Entryウィジェットを使ったプログラムは、以下のようになります。
入力フィールドとラベルを用意して、入力された値をそのままラベルに表示されるように関連付けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
### インポート import tkinter ### メイン画面作成 main = tkinter.Tk() ### 画面サイズ設定 main.geometry("640x400") ### ラベル表示変数 value = tkinter.StringVar() ### 入力フィールド作成 entry = tkinter.Entry(master=main, textvariable=value, font=(None,24), width=30) ### ラベル作成 label = tkinter.Label(master=main, textvariable=value, font=("HG丸ゴシックM-PRO",48), fg="blue") ### 入力フィールド配置 entry.pack(pady=80) ### ラベル配置 label.pack() ### イベントループ main.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。
入力フィールドに入力した値がそのままラベルに表示されます。
パスワード入力のように、入力された値の代わりに *(アスタリスク)を表示するには、showオプションを使います。
1 |
entry = tkinter.Entry(master=main, textvariable=value, font=(None,24), width=30, show="*") |
プログラムを実行すると、以下のような画面が表示されます。
入力フィールドに入力した値は、*(アスタリスク)が表示されます。