在tkinter中,为什么winfo_height()总是返回1?


问题内容

这是最简单的例子。

#py3
from tkinter import *
tk = Tk()
canvas = Canvas(tk, width= 500 , height = 400)
canvas.winfo_height()
#In [4]: canvas.winfo_height()
#Out[4]: 1

问题答案:

您必须先将画布元素打包在窗口中,然后才能获取高度。高度返回值是
实际 高度。

>>> from tkinter import * 
>>> tk = Tk()
>>> canvas = Canvas(tk, width= 500 , height = 400)
>>> canvas.winfo_height()
1
>>> canvas.pack()
>>> canvas.winfo_height()
402