web-dev-qa-db-fra.com

Comment obtenir le texte de l'étiquette Tkinter?

Je fais une liste d'adresses que l'utilisateur sélectionnera et le texte de l'adresse sera retourné. Je dois utiliser Tkinter.Label Car le Tkinter.Listbox Ne permettra pas les retours à la ligne.

Le kicker est qu'il n'y a pas de méthode semblable à .get() dans la classe Label ...

Je sais que je peux faire quelque chose comme:

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

Cependant, j'ai une liste d'adresses 5-20 'garder un tableau séparé de StringVar() sera difficile b/c je n'ai aucun moyen d'identifier le loc de l'étiquette active. Je voudrais simplement accéder au contenu du widget activé.

Tkinter.Label Est-il le bon widget à utiliser?

19
lmno

Pour extraire la valeur d'une étiquette, vous pouvez utiliser la méthode cget , qui peut être utilisée pour obtenir la valeur de n'importe quelle option de configuration.

Par exemple:

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

Vous pouvez également traiter l'objet comme un dictionnaire, en utilisant les options comme clés. En utilisant le même exemple, vous pouvez utiliser l["text"].

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