田舎社会人のいろいろ学習記

Python、英語、その他いろいろ

【tkinter】Entryの使い方【Python】

f:id:vigilantPotato:20210519111244p:plain
Entryはテキストボックスを表示し、ユーザーによる文字列等の入力用に使用するウィジェットである。入力できるのは1行のみで、複数行の入力を行う場合は、Textを使用する必要がある。使用方法を簡単に整理した。


【スポンサーリンク】


Entryの概要

Entryに入力した値を取得するには、getメソッドを使用するか、textvariableオプションを設定する必要がある。以下、Buttonを押してEntryに入力した値を出力する例を示す。

import tkinter

root = tkinter.Tk()

#ボタンクリック時に実行する関数
def show_entry():
    print(e.get())  #Entryの入力値を取得して出力

#Entry
e = tkinter.Entry(
    root,
    )
e.pack()

#Button
b = tkinter.Button(
    root,
    text="show_entry",
    command=show_entry,
    )
b.pack()

root.mainloop()

実行すると、EntryとButtonが並んで表示される。

f:id:vigilantPotato:20210519110940p:plain
Entryに値を入力してButtonをクリックするとshow_entryが実行され、getメソッドを用いて取得したEntryの値をコンソールに出力する。

[↑ 目次へ]


【スポンサーリンク】


入力値をリアルタイムで表示

Entryのtextvariableオプションを設定することで、入力した値が即座にvarにセットされる。それをLabelのtextvariableオプションにも設定することで、入力した値を即座にLabelに反映させることができる。以下、例を示す。

import tkinter

root = tkinter.Tk()

#Variable(Entryに入力した値を格納する変数)
var = tkinter.StringVar(root)

#Label(Entryに入力した値を表示)
l = tkinter.Label(
    root,
    textvariable=var,   #varを表示
    )
l.pack()

#Entry
e = tkinter.Entry(
    root,
    textvariable=var,   #入力値をvarにセット
    )
e.pack()

root.mainloop()

実行するとLabelとEntryが表示される。

f:id:vigilantPotato:20210519111040p:plain
Entryに値を入力すると、その値がvariableを通してLabelに即座に反映される。
f:id:vigilantPotato:20210519111105p:plain

[↑ 目次へ]


【スポンサーリンク】


オプション・メソッド

主なオプション・メソッド 動作
background(bg) 背景色
borderwidth(bd) 境界幅
relief 縁の3D表示設定(flat, raised, sunken, groove, ridge)
textvaliable variableで文字列を設定する場合に使用(通常StringVar)
.set() Entryに値をセット
.get() Entryの値を取得
.delete() Entryの値を削除

[↑ 目次へ]


【スポンサーリンク】