Python Tkinter:尝试获取小部件大小

Cri*_*spy 11 python size geometry tkinter python-3.x

我试图通过使用该winfo_geometry()功能找到我的窗口的大小,但它最终返回1x1+0+0 我也尝试过,winfo_height, winfo_width但我一直在努力1

from tkinter import *

root=Tk()

root.geometry('400x600')

print (root.winfo_width())
print (root.winfo_height())
print (root.winfo_geometry())

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

Tim*_*Tim 20

您正在尝试在窗口渲染之前获取尺寸.

root.update()prints 之前添加一个,它显示正确的尺寸.

from Tkinter import *

root=Tk()

root.geometry('400x600')

root.update()

print (root.winfo_width())
print (root.winfo_height())
print (root.winfo_geometry())

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

  • 在几乎所有情况下都使用`update_idletasks()`.在这个答案中使用哪一个并不重要,否则坚持使用`update_idletasks()`. (3认同)