ボタンで Tkinter エントリウィジェットのテキストを設定する方法
胡金庫
2023年1月30日
-
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
が関連付けられているウィジェットが自動的に更新されます。
著者: 胡金庫