如何在tkinter中获取矩形的尺寸 - Python

时间:2016-10-04 12:18:45

标签: python-3.x tkinter tkinter-canvas

我正在尝试使用tkinter,并且遇到了我需要找到我在画布上绘制的矩形的尺寸(高度和宽度)的情况。但是,当我正常得到它的尺寸时,用

button_rectangle.winfo_width()

我收到错误提示' int'对象没有属性' winfo_height'。 我现在不知道自己做错了什么,因为当我尝试更新时会出现同样的错误。或者' update_idletasks'。 矩形的大小将在整个程序中动态更改,因此我无法手动计算尺寸。 我不知道自己做错了什么,任何帮助都会非常感激。 这是我第一次定义矩形的地方:

button_rectangle = bg_canvas.create_rectangle(0,264,9999,300,outline="white",fill="white")

1 个答案:

答案 0 :(得分:1)

Canvas项不是windows,因此在它们上使用winfo_*命令是不合适的。而是使用canvas小部件命令访问画布项属性。这里你想要的是bbox

>>> import tkinter as tk
>>> root = tk.Tk()
>>> canvas = tk.Canvas(root)
>>> canvas.pack()
>>> rect = canvas.create_rectangle((10,10,100,100), fill="red")
>>> canvas.bbox(rect)
(9, 9, 101, 101)

对于其他属性,itemconfigure非常有用。请参阅some help on Canvas