【发布时间】:2017-10-01 07:51:12
【问题描述】:
我知道一种将 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))
在上面的代码中,tkinter 窗口将在中间弹出,高度为 285,宽度为 350。但如果我添加了太多小部件,高度 285 可能不够。例如,假设我们添加了此代码
for x in range(50):
Label(root,text=x).pack()
只有前 13 个数字会出现在窗口中,因为我将高度设置为固定数字 285。
所以我的问题是有没有办法在屏幕中间放置一个 tkinter 窗口而不设置高度和宽度,我的意思是如果高度和宽度没有设置为固定数字,窗口将继续自动展开。例如在下面的代码中它会自动展开,但窗口不在中间。
from tkinter import *
win=Tk()
for x in range(50):
Label(win,text=x).pack()
【问题讨论】: