【问题标题】:how to set the position of a tkinter window without setting the dimensions如何在不设置尺寸的情况下设置 tkinter 窗口的位置
【发布时间】: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()

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

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

    root.geometry('+%d+%d'%(x,y))  
    

    【讨论】:

      猜你喜欢
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2020-01-28
      • 1970-01-01
      • 2010-10-26
      相关资源
      最近更新 更多