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
文本项放置在 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