Это не работает, потому что вы должны вставить имя файла шрифта в качестве первого аргумента здесь: ImageFont.truetype(str(combo.get()),18)
.
Если вы попытаетесь, например, arial , у вас все получится (если, конечно, на вашем компьютере установлен Arial).Да, и эта функция чувствительна к регистру, поэтому вы должны написать ее в нижнем регистре, потому что имя файла на самом деле arial.ttf (вы можете, кстати, удалить расширение, если хотите).
Итак, ваше поле со списком не работает, потому что когда вы выбираете шрифт с именем Courier New , например, PIL не найдет его, потому что его имя файла cour.ttf ,К сожалению, вы не можете использовать этот список шрифтов из tkinter в ImageFont, и у меня нет обходного пути в этом случае.
Как я уже сказал, это может сработать, но вы должны отпуститьВаше поле со списком: ImageFont.truetype('arial',18)
Прежде чем я уйду, еще одно важное замечание: если вы работаете в операционной системе, отличной от Windows, вы должны ввести полный путь к файлу шрифта.