10

次の方法で、変数を Tkinter エントリ ウィジェットに関連付けようとしています。

  1. エントリの値 (「コンテンツ」) を変更するときはいつでも、主に何かを入力することによって、入力した値が変数に自動的に割り当てられます。最初に「値の更新」などのボタンを押す必要はありません。

  2. 変数が(プログラムの他の部分によって)変更されるたびに、表示されるエントリ値が自動的に調整されるようにします。これはテキスト変数を介して機能すると思います。

http://effbot.org/tkinterbook/entry.htmで例を読みましたが、私が考えていることを正確に理解するのに役立つわけではありません。entry の「validate」を使って最初の条件を確実にする方法があるような気がします。何か案は?

4

1 に答える 1

15

このようなものが欲しいと思います。以下の例では、変数を作成し、それを aとwidgetの両方myvarに割り当てています。このように両方が結合され、エントリ ウィジェットの変更がラベルに自動的に反映されます。textvariableLabelEntry

また、stdout への書き込みなど、変数にトレースを設定することもできます。

from tkinter import *


root = Tk()
root.title("MyApp")

myvar = StringVar()

def mywarWritten(*args):
    print "mywarWritten",myvar.get()

myvar.trace("w", mywarWritten)

label = Label(root, textvariable=myvar)
label.pack()

text_entry = Entry(root, textvariable=myvar)
text_entry.pack()

root.mainloop()
于 2010-03-26T15:07:24.937 に答える