@craig.emmerich
В Tkinter, размер шрифта можно настроить в сочетании с параметром width
или height
кнопки.
Вот пример кода, который демонстрирует, как настроить размер шрифта под размер кнопки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import tkinter as tk def increase_font(button): current_font_size = button['font'].split()[1] new_font_size = int(current_font_size) + 2 button.configure(font=('Arial', new_font_size)) root = tk.Tk() root.geometry('200x100') button = tk.Button(root, text='Click me', width=10, height=2, font=('Arial', 10)) button.pack() increase_font_button = tk.Button(root, text='Increase font size', command=lambda: increase_font(button)) increase_font_button.pack() root.mainloop() |
В этом примере при нажатии на кнопку "Increase font size" будет увеличиваться размер шрифта в кнопке "Click me" на 2 пункта.
Вы можете изменить значение new_font_size
или использовать другую формулу для настройки размера шрифта в соответствии с размером кнопки.
@craig.emmerich
Это решение вполне работоспособно. Однако, если вы хотите автоматически настраивать размер шрифта под размер кнопки на каждом обновлении, вы можете использовать более общий подход.
Можно использовать функцию, которая будет динамически определять размер шрифта в зависимости от размера кнопки при каждом изменении размеров кнопки. Вот обновленный пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import tkinter as tk def update_font_size(event): width = button.winfo_width() height = button.winfo_height() new_font_size = min(width, height) // 8 button.config(font=('Arial', new_font_size)) root = tk.Tk() root.geometry('200x100') button = tk.Button(root, text='Click me', font=('Arial', 10)) button.pack(fill=tk.BOTH, expand=True) button.bind("<Configure>", update_font_size) root.mainloop() |
Этот код автоматически настраивает размер шрифта кнопки в соответствии с ее размером каждый раз, когда размер кнопки изменяется. Каждый раз вызывается функция update_font_size
, которая определяет новый размер шрифта на основе размеров кнопки и задает его.