如何使Python Tkinter Label文本随根窗口自动调整大小?



我试图使一个tkinter标签停留在根窗口的中间,并随着它调整大小。

是否有简单的方法来做到这一点,只使用.place()-而不使用.grid()?

下面是我的代码:
from tkinter import *
root= Tk()
root.geometry('200x200')
my_label= Label(root, text= 'Hello World!', font= ('Calibri', 20))
my_label.place(relx= 0.5, rely= 0.5, anchor= CENTER)
root.mainloop()

您可以跟踪窗口大小的变化,并按比例更改标签上的字体大小。

from tkinter import *
i = 12
def config(event):
global i
i = 12
w = root.winfo_width()
h = root.winfo_height()
k = min(w, h) / 200
i = int(i + i*k)
my_label['font'] = ('Calibri', i)

root= Tk()
root.geometry('200x200')
root.bind("<Configure>", config)
my_label= Label(root, text= 'Hello World!', font= ('Calibri', i))
my_label.place(relx= 0.5, rely= 0.5, anchor= CENTER)
root.mainloop()

最新更新