Tkinter 几何方法仅设置宽度或高度

问题描述

以下将设置tkinter窗口宽度高度。

root.geometry("500x500")

是否可以只设置宽度高度?

在哪里可以找到 geometry 方法变体的完整列表,仅用于设置选择参数?

我希望能够设置窗口大小和/或位置的选择参数,其余部分由 tkinter 动态控制。

解决方法

使用 root.config(width=100)root.config(height=100)

,

查看 tcl/tk documentation 时,我们可以看到我们不必为 "widthxheight±x±y" 方法提供完整的 .geometry() 字符串:

  • 仅使用 "widthxheight",将更改窗口的大小,但不会更改其在屏幕上的位置。
  • 只有"±x±y",位置会改变,但大小不会改变。

但是,使用此方法无法单独设置窗口的宽度和高度。不过,您可以检索不想更改的维度并在 .geometry() 中使用类似

def set_height(window,height):
    window.geometry("{}x{}".format(window.winfo_width(),height))

def set_width(window,height):
    window.geometry("{}x{}".format(width,window.winfo_height()))

注意:只有在从未使用鼠标或使用 root.config(width/height=...) 调整过窗口大小的情况下,才使用 .geometry()