とても簡単かもしれないと思いますが、聞き取れません!
Pythonでtkinterを使用していて、エントリを作成しようとしています。このエントリのテキストは変数に格納する必要があります(私はそれを「s」と呼びました)。しかし、このウィジェットが動的に機能することも望んでいます。例えば。プログラムを起動し、キーボードからテキストを導入し、それを「s」に格納します。次に、別の何かを導入したいと思います。「s」変数に格納されるのは、古いテキストではなく、新しく導入されたテキストです。このコードを作成しましたが、「s」変数には常に元のテキストが格納されます。
root = Tk()
root.geometry("250x250")
e = Entry(root)
e.pack()
e.delete(0, END)
e.insert(0, "a default value")
s = e.get()
print s
root.mainloop()
テキストを紹介するには、ボックスにテキストを書き込んでからEnterキーを押す必要がありますか?どうもありがとうパブロ
テキストはメインループ中に入力されます。コールバック(たとえば、ボタンウィジェットを使用)を使用してテキストを取得します。
たとえば、これはButton
:を使用したコールバックです。
from tkinter import *
def print_input(entry):
print entry.get()
root = Tk()
root.geometry("250x250")
e = Entry(root)
e.pack()
b = Button(root, text="Print my input", command=lambda e=e: print_input(e))
b.pack()
root.mainloop()
<return>
次の行を使用して、すべてのウィンドウのキーをバインドすることもできます。
def func(event):
print("You hit return.")
root.bind('<Return>', func)
これを行うためのいくつかの興味深い方法があります:エンターキーをtkinterの関数にバインドする方法を理解できません
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加