Изменение шрифта кнопки с изменением окна Tkinter
Суть проблемы: Имеем окно, в котором есть поле ввода и кнопки ... допустим калькулятор. Хочу иметь возможность растягивать окно ... тут не проблема. Чтобы кнопки соответственно увеличивались решил. А как привязать текущий размер главного окна к шрифту текста этих кнопок не могу придумать. Есть ли какой-то способ заполучить текущий размер окна после растягивания? И потом его как-то использовать. Код кривой, чисто для разбора
import tkinter as tk
# Функция ввода цифр в поле ввода
def add_digit(digit):
value_of_entry_field = entry_field.get() + str(digit)
entry_field.delete(0, tk.END)
entry_field.insert(0, value_of_entry_field)
win = tk.Tk()
# Размеры окна
win.minsize(240,240)
win.maxsize(700,700)
# Размещение окна по центру экрана
win.update_idletasks()
s = win.geometry()
s = s.split('+')
s = s[0].split('x')
s_win = s[0]
width_win = int(s[0])
height_win = int(s[1])
w = win.winfo_screenwidth()
h = win.winfo_screenheight()
w = w // 2
h = h // 2
w = w - width_win // 2
h = h - height_win // 2
win.geometry(f'+{w}+{h}')
# Внешний вид окна
win.config(bg='#dadce0', relief='raised')
# Название окна
win.title('Калькулятор')
# Поле ввода
entry_field = tk.Entry(master=win, font='arial', width=15, justify=tk.RIGHT, borderwidth=5)
entry_field.grid(row=0, column=0, columnspan=3, stick='we', pady=5, padx=5)
print(entry_field.winfo_height())
# Кнопки с цифрами
q = tk.Button(text='1', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(1)).grid(row=1, column=0, stick='wens', padx=5, pady=5)
tk.Button(text='2', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(2)).grid(row=1, column=1, stick='wens', padx=5, pady=5)
tk.Button(text='3', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(3)).grid(row=1, column=2, stick='wens', padx=5, pady=5)
tk.Button(text='4', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(4)).grid(row=2, column=0, stick='wens', padx=5, pady=5)
tk.Button(text='5', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(5)).grid(row=2, column=1, stick='wens', padx=5, pady=5)
tk.Button(text='6', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(6)).grid(row=2, column=2, stick='wens', padx=5, pady=5)
tk.Button(text='7', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(7)).grid(row=3, column=0, stick='wens', padx=5, pady=5)
tk.Button(text='8', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(8)).grid(row=3, column=1, stick='wens', padx=5, pady=5)
tk.Button(text='9', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(9)).grid(row=3, column=2, stick='wens', padx=5, pady=5)
tk.Button(text='0', bg='#f1f3f4', font='arial', bd=2, command=lambda: add_digit(0)).grid(row=4, column=0, stick='wens', padx=5, pady=5)
win.grid_columnconfigure(0, weight=1)
win.grid_columnconfigure(1, weight=1)
win.grid_columnconfigure(2, weight=1)
win.grid_rowconfigure(1, weight=1)
win.grid_rowconfigure(2, weight=1)
win.grid_rowconfigure(3, weight=1)
win.grid_rowconfigure(4, weight=1)
win.mainloop()