How to get the Tkinter Label text?

Question:

Im making a list of addresses that the user will select from, and the address text will be returned. I need to use Tkinter.Label because the Tkinter.Listbox will not allow for newlines.

The kicker is there is no .get()-like method in the Label class…

I know I can do something like:

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

However, I have a list of 5-20 address’ keeping a seperate array of StringVar()‘s will be difficult b/c I have no way of identifying the loc of the active label. I would like to just access the activated widget contents.

Is Tkinter.Label the right widget to be using?

Asked By: lmno

||

Answers:

To get the value out of a label you can use the cget method, which can be used to get the value of any of the configuration options.

For example:

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

You can also treat the object as a dictionary, using the options as keys. Using the same example you can use l["text"].

Answered By: Bryan Oakley
label = Label(text = 'Hello, World!')
print(label['text']) # output is: Hello, World!
Answered By: Yas
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.