【问题标题】:tkinter - set geometry without showing windowtkinter - 设置几何而不显示窗口
【发布时间】:2010-10-09 16:57:36
【问题描述】:

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

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

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    在调用更新之前撤回窗口。你想要的命令是 wm_withdraw

    root = Tk()
    root.wm_withdraw()
    <your code here>
    root.wm_deiconify()
    

    但是,如果您的真正问题是排列小部件,您通常不需要知道小部件的大小。使用网格几何管理器。拿出一张方格纸,把你的小部件放在上面。随意为每个小部件跨越尽可能多的正方形。然后,该设计可以轻松转换为一系列网格调用。

    【讨论】:

      猜你喜欢
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多