如果我运行这个Python代码:
from Tkinter import *; w = Tk(); w.geometry( "640x480" ); print( w.geometry() )
Run Code Online (Sandbox Code Playgroud)
我将获得"1x1 + 0 + 0"输出.但是,如果我启动解释器并将其作为两个单独的命令执行,我将获得完全不同的输出:
>>> from Tkinter import *; w = Tk(); w.geometry( "640x480" )
''
>>> w.geometry()
'640x480+101+73'
Run Code Online (Sandbox Code Playgroud)
似乎几何体不会立即应用,还需要其他东西:(.也许有人知道我需要做什么才能更新几何体?我需要它来正确地居中/定位主窗口和子窗口.
调用update_idletasks()窗口(或窗口小部件)将强制其几何体更新.
这是Tkinter参考文献中的一个小文本片段:
在应用程序更新其空闲任务之前,几何图形不准确.特别是,在窗口小部件和几何管理器协商其位置之前,所有几何都是"1x1 + 0 + 0".