我知道一种放置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)