Python Tkinter:为什么有这么多方法来获取小部件的宽度,有什么区别?

Python Tkinter: Why are there so many ways to get the width of a widget and what are the differences?

到目前为止,我发现了四个与宽度(或高度)相关的控件的方法和属性(其中一些还可以用于获取其他控件属性)。它们之间有什么区别?

(高度也有等效的方法和属性)。

-第一个(widget["width"])是其他一些命令的just a wrapping,不反编译函数我不能告诉你是哪个。

-第二个(widget. cget("width"))是通过对象

的getter方法访问变量width using the access to widget object的方法

-第三个(widget.winfo_width())可以用来知道当前width asking to TK's windows manager

-第四个(widget.winfo_reqwidth())可以告诉你widget打开的时候width是多少originallyor anyway before the widget.update_idletasks () method.

一般来说,我们可以说他们all do the same thing but,你可以猜到,有subtle differences让你to access the information you are looking for differently,在这种情况下width