调整窗口大小时如何调整所有小部件和文本的大小

时间:2019-01-27 10:06:47

标签: python-3.x tkinter resize

现在我现在已经有很多类似的问题了,但是这些问题都没有奏效,许多已经过时了。从我收集的数据来看,人们总是推荐eventgrid_rowconfigure,但这与文本大小无关。这是一个简单的示例:

grid_columnconfigure

我发现了this site,但这是从2010年开始的,复制粘贴后没有任何结果(当然是在处理了导入名称之后)

1 个答案:

答案 0 :(得分:0)

我发现这可以工作:

from tkinter import *
import tkinter.font as tkFont
root=Tk()

my_font = tkFont.Font(size=10)
def resizer(event):
   if event.width in range(200,225):
      my_font.configure(size=10)   
   elif event.width in range(226,300):
      my_font.configure(size=20)
   elif event.width > 300:
      my_font.configure(size=30)

l1 = Label(root, text="This", borderwidth=2, relief="groove", font=my_font)
l1.grid(row=0,column=0,sticky='NSEW')

l2 = Label(root, text="That", borderwidth=2, relief="groove", font=my_font)
l2.grid(row=0,column=1,sticky='NSEW')

for i in range(1):
    root.grid_rowconfigure(i, weight=1)
for i in range(2):
    root.grid_columnconfigure(i, weight=1)

root.bind("<Configure>", resizer)
root.mainloop()

您可以更改range(200,225)等。以满足您的需要,如果需要,可以额外添加elif

这是从此answer中找到的。并进行编辑以适合此脚本。