在 tkinter 中,为什么 winfo_height() 总是 return 1?
In tkinter, why winfo_height() always return 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
您必须 pack window 中的 canvas 元素才能获得它的高度。身高return是实际身高。
>>> from tkinter import *
>>> tk = Tk()
>>> canvas = Canvas(tk, width= 500 , height = 400)
>>> canvas.winfo_height()
1
>>> canvas.pack()
>>> canvas.winfo_height()
402
如果使用pack()
函数还是不行,
您可以尝试在使用 canvas.pack()
后添加 canvas.update()
。
这是最简单的示例。
#py3
from tkinter import *
tk = Tk()
canvas = Canvas(tk, width= 500 , height = 400)
canvas.winfo_height()
#In [4]: canvas.winfo_height()
#Out[4]: 1
您必须 pack window 中的 canvas 元素才能获得它的高度。身高return是实际身高。
>>> from tkinter import *
>>> tk = Tk()
>>> canvas = Canvas(tk, width= 500 , height = 400)
>>> canvas.winfo_height()
1
>>> canvas.pack()
>>> canvas.winfo_height()
402
如果使用pack()
函数还是不行,
您可以尝试在使用 canvas.pack()
后添加 canvas.update()
。