Непонятное поведение из QFontDatabase

Я пытаюсь загрузить шрифт в свое приложение. Логично, что я хочу загрузить более одного веса шрифта, но здесь возникает проблема.

У меня есть два файла шрифтов, "PFD-Black.ttf" и "PFD-Regular.ttf". Я хочу использовать их оба, поэтому я загружаю их оба, используя этот код:

fontid_regular = QFontDatabase.addApplicationFont("PFD-Regular.ttf")
fontid_black = QFontDatabase.addApplicationFont("PFD-Black.ttf")

Затем я получаю фамилию, вот так:

familyname = fontdb.applicationFontFamilies(fontid_black)[0]

Обратите внимание, что я пытался использовать fontid_regular как хорошо, но безрезультатно. Затем я пытаюсь использовать шрифт для QLabel:

lab = QLabel("My Font Window")
font = QFont(familyname)
lab.setFont(font)
lab.show()

Это размер моего кода, кроме стандартного импорта и вызова QApplication.exec_().

Это не работает (что может быть очевидно, так как я задаю вопрос об этом по SO), метка отображается шрифтом по умолчанию.

Это когда не работает

Непонятная часть моей проблемы - когда я закомментирую строку fontid_regular = QFontDatabase.addApplicationFont("PFD-Regular.ttf") жирный шрифт показывает.

Это когда это вроде работает

Это некоторый уровень работоспособности (из-за отсутствия лучшего слова), но я не могу использовать обычный шрифт веса. Следует также отметить, что комментирование строки, куда я загружаю "PFD-Black.ttf", не решает проблему.

Обратите внимание, что я видел этот вопрос, но независимо от того, какие мутации я выполняю в своем коде, я не могу заставить это решение работать на меня, поэтому, пожалуйста, не отмечайте этот вопрос как дубликат этого.

1 ответ

Проблема была решена в комментариях выше: оказалось, что была проблема с шрифтом, который я использовал.

Другие вопросы по тегам