ボタンで Tkinter エントリウィジェットのテキストを設定する方法
胡金庫
2023年1月30日
Tkinter
Tkinter Entry
-
Tkinter の
deleteおよびinsertメソッドでEntryのコンテンツを設定 -
Tkinter の
Entryウィジェットのコンテンツを設定する Tkinter のStringVarメソッド
ボタンをクリックして Tkinter Entry ウィジェットのテキストを設定または変更するには、2つの方法があります。
- Tkinter の
deleteとinsertメソッド - 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()

textExample.delete(0, "end")
Entry の delete メソッドは、Entry の指定された範囲の文字を削除します。
0 は Entry ウィジェットのコンテンツの最初の文字で、"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)
textEntry は StringVar オブジェクトであり、テキストコンテンツに関連付けられています。つまり、Entry ウィジェットの textvariable オプションに関連付けられています。
textEntry.set(text)
textEntry が新しい値 text を持つように更新されると、textvariable が関連付けられているウィジェットが自動的に更新されます。
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: 胡金庫
