如何获取Tkinter标签文本?

32 投票
2 回答
121896 浏览
提问于 2025-04-16 18:15

我正在制作一个地址列表,用户可以从中选择,选择后会返回地址文本。我需要使用 Tkinter.Label,因为 Tkinter.Listbox 不支持换行。

问题是,Label 类里没有类似 .get() 的方法...

我知道我可以这样做:

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

不过,我有5到20个地址,单独维护一个 StringVar() 的数组会很麻烦,因为我没有办法识别当前激活的标签的位置。我希望能直接访问被激活的控件内容。

Tkinter.Label 是不是合适的控件呢?

2 个回答

18

在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种时候,我们需要去寻找解决方案。StackOverflow是一个很好的地方,程序员们可以在这里提问和回答问题。

当你在StackOverflow上看到一个问题时,通常会有很多人分享他们的看法和解决方法。每个人的回答可能会有不同的思路,有的可能很简单,有的可能比较复杂。你可以根据自己的理解选择最适合你的答案。

另外,StackOverflow上还有很多关于编程的知识和技巧,适合各种水平的程序员。无论你是刚入门的小白,还是有经验的老手,都能在这里找到有用的信息。

总之,StackOverflow是一个帮助程序员解决问题、学习新知识的好地方。如果你遇到困难,不妨去看看,或许能找到你需要的答案。

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

要从一个标签中获取值,你可以使用 cget 这个方法,它可以用来获取任何配置选项的值。

比如说:

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

你也可以把这个对象当作一个字典来使用,把选项当作键。用同样的例子,你可以用 l["text"] 来获取。

撰写回答