Python tkinter-在不显示窗口的情况下设置几何图形

Python tkinter-在不显示窗口的情况下设置几何图形,python,tkinter,Python,Tkinter,我正在尝试排列一些标签和画布小部件。为此,我需要知道我的标签盒有多宽。如果用户更改系统字体大小,我希望我的小部件能够自动调整,所以我不想硬编码每个字符12个像素。如果我测量标签小部件,它总是1像素宽。在调用.update()之前,我将获得正确的值。但是.update()会在屏幕上显示一个带有标签的窗口,当我最终打包最后一个小部件时,该窗口就会消失。但是当我第一次安装这个小部件时,这会导致一个不受欢迎的闪光 那么,在没有.update()的情况下,如何测量标签小部件呢?或者,我怎样才能在不让小部件

我正在尝试排列一些标签和画布小部件。为此,我需要知道我的标签盒有多宽。如果用户更改系统字体大小,我希望我的小部件能够自动调整,所以我不想硬编码每个字符12个像素。如果我测量标签小部件,它总是1像素宽。在调用.update()之前,我将获得正确的值。但是.update()会在屏幕上显示一个带有标签的窗口,当我最终打包最后一个小部件时,该窗口就会消失。但是当我第一次安装这个小部件时,这会导致一个不受欢迎的闪光


那么,在没有.update()的情况下,如何测量标签小部件呢?或者,我怎样才能在不让小部件显示在屏幕上的情况下对其进行.update()?如果重要的话,我会使用Python。

在调用update之前退出窗口。您需要的命令是wm_draw

root = Tk()
root.wm_withdraw()
<your code here>
root.wm_deiconify()
root=Tk()
root.wm_-draw()
root.wm_deiconify()
然而,如果你真正的问题是排列小部件,你通常不需要知道小部件的大小。使用栅格几何图形管理器。拿出一张图表纸,把你的小部件放在上面。您可以随意跨越每个小部件所需的任意多个正方形。然后,设计可以轻松地转换为一系列网格调用