Как получить текст этикетки Tkinter? - PullRequest
16 голосов
/ 24 мая 2011

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

У кикера нет .get() -подобного метода в классе Label ...

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

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

Тем не менее, у меня есть список из 5-20 адресов, 'держать отдельный массив из StringVar() будет сложно, потому что я не могу определить местоположение активной метки Я хотел бы просто получить доступ к активированному содержимому виджета.

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

Ответы [ 2 ]

41 голосов
/ 24 мая 2011

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

Например:

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

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

7 голосов
/ 08 сентября 2016
label = Label(text = 'Hello, World!')
print(label['text']) # output is: Hello, World!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...