如何在不设置尺寸的情况下设置tkinter窗口的位置

Hil*_*lea 3 python tkinter

我知道一种放置tkinter窗口的方法可以说在中间

from tkinter import *
root=Tk()
w=350
h=285
ws=root.winfo_screenwidth()
hs=root.winfo_screenheight()
x=(ws/2)-(w/2)
y=(hs/2)-(h/2)
root.geometry('%dx%d+%d+%d'%(w,h,x,y))   
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,tkinter窗口将在中间弹出,高度为285,宽度为350。但是,如果我添加了太多小部件,则高度285可能不够。堡垒的例子可以说我们添加了这段代码

for x in range(50):
    Label(root,text=x).pack()
Run Code Online (Sandbox Code Playgroud)

因为我将高度设置为固定数字285,所以只有前13个数字将在窗口中。

所以我的问题是,有没有一种方法可以将tkinter窗口放置在屏幕中间而无需设置高度和宽度,我的意思是,如果高度和宽度未设置为固定值,则该窗口将继续自动扩展。例如,在下面的代码中,它将自动扩展,除非窗口不在中间。

from tkinter import *
win=Tk()
for x in range(50):
    Label(win,text=x).pack()
Run Code Online (Sandbox Code Playgroud)

Bry*_*ley 8

您可以从几何规格中省略宽度和高度。例如:

root.geometry('+%d+%d'%(x,y))  
Run Code Online (Sandbox Code Playgroud)