Tkinter チュートリアル - テキストボックス
Tkinter Entry ウィジェットを使用すると、ユーザーは 1つのフォントタイプのみを含む 1 行のテキストを入力できます。
多くの行が必要な場合は、Tkinter Text ウィジェットを使用する必要があります。Entry ウィジェットを使用して、単一行のテキストを表示します。こともできます。
Tkinter テキストボックスの例
import tkinter as tk
from tkinter import ttk
def callbackFunc():
resultString.set("{} - {}".format(landString.get(), cityString.get()))
app = tk.Tk()
app.geometry("200x100")
labelLand = tk.Label(app, text="Country")
labelLand.grid(column=0, row=0, sticky=tk.W)
labelCity = tk.Label(app, text="City")
labelCity.grid(column=0, row=1, sticky=tk.W)
landString = tk.StringVar()
cityString = tk.StringVar()
entryLand = tk.Entry(app, width=20, textvariable=landString)
entryCity = tk.Entry(app, width=20, textvariable=cityString)
entryLand.grid(column=1, row=0, padx=10)
entryCity.grid(column=1, row=1, padx=10)
resultButton = tk.Button(app, text="Get Result", command=callbackFunc)
resultButton.grid(column=0, row=2, pady=10, sticky=tk.W)
resultString = tk.StringVar()
resultLabel = tk.Label(app, textvariable=resultString)
resultLabel.grid(column=1, row=2, padx=10, sticky=tk.W)
app.mainloop()
この例では、ユーザーが国名と都市名を入力できる GUI を作成し、Get Result ボタンがクリックされた後に入力された情報を表示します。

entryLand = tk.Entry(app, width=20, textvariable=landString)
Tkinter Entry ウィジェットの例を作成しました。幅は 20 文字単位です。入力ボックスには 20 文字しか表示できませんので、テキスト行が 20 文字を超える場合は、矢印を使ってテキストを移動して残りのテキストを表示します。必要があります。
Entry ウィジェットのテキストは、Tkinter 文字列変数 landString に割り当てられます。landString.get() メソッドでテキストを取得し、landString.set() メソッドでテキストを設定できます。set() メソッドを使用すると、入力ボックスのテキストが自動的に更新されます。
StringVar の get() メソッドの他に、ウィジェットオブジェクトの get() メソッドを使用 Entry して、Entry ボックス内の文字列を取得することもできます。Tkinter テキストボックスのデフォルトテキスト
Entry ウィジェットのテキストを設定するには 2つの方法があります。
set() メソッドで Tkinter の Entry デフォルトテキストを設定する
上記の例で示したように、StringVar の set() メソッドを使用して、Tkinter Entry のデフォルトテキストを設定することができます。
例えば、
landString.set("Netherlands")
デフォルトのテキストを次のように Netherlands 設定します
insert() メソッドで Tkinter の Entry デフォルトテキストを設定する
insert(index, string) メソッド string は、指定された index 位置にテキストを挿入します。index が END である場合、テキストを Entry ウィジェットを追加します。
entryLand.insert(tk.END, "Netherlands")
デフォルトのテキストを Netherlands に設定します。
index がウィジェットの既存の文字列の長さよりも大きい場合、insert(END, string) と同じ効果があります。