Ответ 1
Tkinter имеет несколько встроенных шрифтов - TkDefaultFont
, TkTextFont
, TkFixedFont
и т.д. Это все так называемые "названные шрифты". Они замечательно мощные - измените один из них, и все виджеты, которые их используют, тоже изменятся.
Чтобы изменить один из этих шрифтов, выберите его, а затем используйте метод configure
для изменения. Например, чтобы изменить размер TkDefaultFont
на 48, вы сделаете следующее:
default_font = tkFont.nametofont("TkDefaultFont")
default_font.configure(size=48)
Что это. Вам не нужно ничего делать - все, что использует TkDefaultFont
, мгновенно заметит изменение.
В вашем вопросе вы подразумеваете, что хотите, чтобы шрифт TkDefaultFont
использовался всем. Для этого вы можете использовать option_add
, как вы показали:
root.option_add("*Font", default_font)
Обратите внимание, однако, что option_add
влияет только на виджеты, созданные после того, как вы вызвали option_add
, поэтому вам нужно сделать это до создания любых других виджетов.
Также обратите внимание, что вы можете присвоить имя шрифта option_add
, если вы не хотите беспокоиться о том, чтобы сначала получить экземпляр шрифта (например: root.option_add("*Font", "TkDefaultFont")
).