如何在Python/Tkinter中找出画布项的大小?

Mat*_*ory 6 python tkinter tkinter-canvas

我想在画布中创建一些文本:

myText = self.canvas.create_text(5, 5, anchor=NW, text="TEST")
Run Code Online (Sandbox Code Playgroud)

现在我如何找到myText的宽度和高度?

sky*_*ymt 13

bounds = self.canvas.bbox(myText)  # returns a tuple like (x1, y1, x2, y2)
width = bounds[2] - bounds[0]
height = bounds[3] - bounds[1]
Run Code Online (Sandbox Code Playgroud)

请参阅TkInter参考.


小智 7

如果您感兴趣的是所有您感兴趣的画布的宽度和高度,使用框的边界然后检查差异工作,如果您想这样做,这种方法似乎工作得很好.

width = myText.winfo_width()  
height = myText.winfo_height()
Run Code Online (Sandbox Code Playgroud)

  • `myText`,至少在给定的例子中是一个 `int`。您给出的行只会导致 **AttributeError** 被引发。 (3认同)
  • 想知道为什么这会得到如此多的支持,因为上面的评论是正确的:我只是收到属性错误。 (2认同)