Как получить текст метки Tkinter?

Im, создавая список адресов, которые пользователь выберет, и текст адреса будет возвращен. Мне нужно использовать Tkinter.Label, потому что Tkinter.Listbox не будет использовать символы новой строки.

В классе Label нет такого .get() -подобного метода...

Я знаю, что могу сделать что-то вроде:

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

Тем не менее, у меня есть список из 5-20 адресов. "Сохранение отдельного массива StringVar() будет сложно. b/c. У меня нет способа идентифицировать loc из активной метки. Я хотел бы просто получить доступ к активному содержимому виджета.

Является ли Tkinter.Label правильным виджетами, которые будут использоваться?

Ответ 1

Чтобы получить значение из метки, вы можете использовать метод cget, который можно использовать для получения значения любого параметров конфигурации.

Например:

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

Вы также можете рассматривать объект как словарь, используя опции в качестве ключей. Используя тот же пример, вы можете использовать l["text"].

Ответ 2

label = Label(text = 'Hello, World!')
print(label['text']) # output is: Hello, World!