web-dev-qa-db-ja.com

Tkinterラベルのテキストを取得する方法は?

ユーザーが選択するアドレスのリストを作成すると、アドレステキストが返されます。 _Tkinter.Label_は改行を許可しないため、_Tkinter.Listbox_を使用する必要があります。

キッカーは、Labelクラスに.get()- likeメソッドがないことです...

私は次のようなことができることを知っています:

_v = StringVar()
Label(master, textvariable=v).pack()
v.set("New Text!")
 ...
print v.get()
_

しかし、私は5〜20のアドレスのリストを保持しています。StringVar()の個別の配列を保持するのは難しいでしょう。アクティブラベルの場所を特定する方法はありません。有効にしたウィジェットのコンテンツにアクセスしたいのですが。

_Tkinter.Label_を使用するのに適切なウィジェットですか?

19
lmno

ラベルから値を取得するには、 cget メソッドを使用できます。このメソッドを使用して、構成オプションのいずれかの値を取得できます。

例えば:

l = tk.Label(text="hello, world")
...
print("the label is", l.cget("text"))

オプションをキーとして使用して、オブジェクトを辞書として扱うこともできます。同じ例を使用すると、l["text"]

41
Bryan Oakley
label = Label(text = 'Hello, World!')
print(label['text']) # output is: Hello, World!
9
Yas