Python Tkinter 如何在 canvas 中调整文本

Python Tkinter How to fit text in canvas

文本项放置在 canvas 的中心,尺寸固定。 现在应该调整此文本的大小,使其刚好适合 canvas: 这意味着文本不应比 canvas 更宽或更高,但它的宽度或长度等于 canvas.

的宽度或长度

我遇到的具体问题是如何找到文本项的实际宽度(当然以像素为单位)。

有什么想法吗? 提前致谢!

可以使用 bbox 方法检索文本的实际宽度和高度,其中 returns 文本的 边界框 。边界框 returns canvas 项目使用的左上角和右下角区域的坐标。

例如:

...
text = canvas.create_text(100,100, text="Hello, world")
...
x1,y1,x2,y2 = canvas.bbox(text)
width = x2-x1
height=y2-y1