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

时间:2015-01-20 08:45:13

标签: python tkinter

这是最简单的例子。

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

2 个答案:

答案 0 :(得分:9)

如果使用pack()功能无效, 您可以在使用canvas.update()后尝试添加canvas.pack()

答案 1 :(得分:7)

在获得它的高度之前,你必须在窗口中pack画布元素。高度返回是实际高度。

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