Tkinter チュートリアル - テキストボックス

胡金庫 2024年2月15日
  1. Tkinter テキストボックスの例
  2. Tkinter テキストボックスのデフォルトテキスト
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 ボタンがクリックされた後に入力された情報を表示します。

Tkinter Tutorial_Entry Basic

entryLand = tk.Entry(app, width=20, textvariable=landString)

Tkinter Entry ウィジェットの例を作成しました。幅は 20 文字単位です。入力ボックスには 20 文字しか表示できませんので、テキスト行が 20 文字を超える場合は、矢印を使ってテキストを移動して残りのテキストを表示します。必要があります。

Entry ウィジェットのテキストは、Tkinter 文字列変数 landString に割り当てられます。landString.get() メソッドでテキストを取得し、landString.set() メソッドでテキストを設定できます。set() メソッドを使用すると、入力ボックスのテキストが自動的に更新されます。

注意
StringVarget() メソッドの他に、ウィジェットオブジェクトの get() メソッドを使用 Entry して、Entry ボックス内の文字列を取得することもできます。

Tkinter テキストボックスのデフォルトテキスト

Entry ウィジェットのテキストを設定するには 2つの方法があります。

set() メソッドで Tkinter の Entry デフォルトテキストを設定する

上記の例で示したように、StringVarset() メソッドを使用して、Tkinter Entry のデフォルトテキストを設定することができます。

例えば、

landString.set("Netherlands")

デフォルトのテキストを次のように Netherlands 設定します

insert() メソッドで Tkinter の Entry デフォルトテキストを設定する

insert(index, string) メソッド string は、指定された index 位置にテキストを挿入します。indexEND である場合、テキストを Entry ウィジェットを追加します。

entryLand.insert(tk.END, "Netherlands")

デフォルトのテキストを Netherlands に設定します。

注意
index がウィジェットの既存の文字列の長さよりも大きい場合、insert(END, string) と同じ効果があります。
著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook