ボタンで Tkinter エントリウィジェットのテキストを設定する方法

胡金庫 2023年1月30日
  1. Tkinter の delete および insert メソッドで Entry のコンテンツを設定
  2. Tkinter の Entry ウィジェットのコンテンツを設定する Tkinter の StringVar メソッド
ボタンで Tkinter エントリウィジェットのテキストを設定する方法

ボタンをクリックして Tkinter Entry ウィジェットのテキストを設定または変更するには、2つの方法があります。

  1. Tkinter の deleteinsert メソッド
  2. Tkinter StringVar メソッド

Tkinter の delete および insert メソッドで Entry のコンテンツを設定

Tkinter の Entry ウィジェットには、Entry のコンテンツを設定するための専用の set メソッドがありません。コンテンツを完全に変更する必要がある場合は、まず既存のコンテンツを削除してから、新しいコンテンツを挿入する必要があります。

delete および insert メソッドを使用して Entry にテキストを設定するための完全な作業コード

import tkinter as tk

root = tk.Tk()
root.geometry("400x50")


def setTextInput(text):
    textExample.delete(0, "end")
    textExample.insert(0, text)


textExample = tk.Entry(root)
textExample.pack()

btnSet = tk.Button(
    root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()

root.mainloop()

Tkinter Entry_delete のコンテンツと Set メソッド

textExample.delete(0, "end")

Entrydelete メソッドは、Entry の指定された範囲の文字を削除します。

0Entry ウィジェットのコンテンツの最初の文字で、"end"はコンテンツの最後の文字です。したがって、delete(0, "end") は、[エントリ]ボックス内のすべてのコンテンツを削除します。

textExample.insert(0, text)

insert メソッドは指定された位置にテキストを挿入します。上記のコードでは、最初に text を挿入します。

Tkinter の Entry ウィジェットのコンテンツを設定する Tkinter の StringVar メソッド

Tkinter Entry ウィジェットのコンテンツが StringVar オブジェクトに関連付けられている場合、StringVar の値が更新されるたびに、Tkinter Entry ウィジェットのコンテンツが自動的に変更される可能性があります。

StringVar オブジェクトを使用して Entry にテキストを設定するための完全な作業コード

import tkinter as tk

root = tk.Tk()
root.geometry("400x50")


def setTextInput(text):
    textEntry.set(text)


textEntry = tk.StringVar()

textExample = tk.Entry(root, textvariable=textEntry)
textExample.pack()

btnSet = tk.Button(
    root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()

root.mainloop()
textEntry = tk.StringVar()

textExample = tk.Entry(root, textvariable=textEntry)

textEntryStringVar オブジェクトであり、テキストコンテンツに関連付けられています。つまり、Entry ウィジェットの textvariable オプションに関連付けられています。

textEntry.set(text)

textEntry が新しい値 text を持つように更新されると、textvariable が関連付けられているウィジェットが自動的に更新されます。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

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

LinkedIn Facebook

関連記事 - Tkinter Entry