Tkinter 标签:我怎么知道文本对它来说太长了?

Tkinter Label: How do I know that the text is too long for it?

让我解释一下。 你有一个标签。固定尺寸。 我想知道是否有办法让我知道我想在该标签中显示的文本是否对它来说太长了。

len() 不好,因为并非所有字符的宽度都相同。

为什么?好吧,我旁边有另一个标签显示 << 当发生这种情况时,目前由 len() 解决,但这并不好。

您可以使用 font_measure 来确定特定屏幕上特定字体的特定字符串需要多少像素。

...
text="Hello, world"
default_font = tkFont.nametofont("TkDefaultFont")
width = default_font.measure(text)
height = default_font.metrics("linespace")
...

感谢您,这就是我的工作方式:

from tkinter import *

self.anyfontname = font.Font(family = "Arial", size = 20, weight = "bold")
text = "hi"
print(self.anyfontname.measure(text))
...

谢谢!!