Загрузка собственного шрифта в QT 5.10 с Python (PyQT 5.10)

Я пытаюсь загрузить собственный шрифт в приложении Python на CentOS 7 (Python 3.6.2) с установленными QT 5.10 и PyQT 5.10. Я пытаюсь сделать это с помощью следующего кода:

id = QFontDatabase.addApplicationFont("/PATH/party.ttf")
_fontstr = QFontDatabase.applicationFontFamilies(id).at(0)
_font = QFont(_fontstr, 8)
app.setFont(font)

Тем не менее, я получаю:

AttributeError: у объекта ‘list’ нет атрибута ‘at’

Я проверил, что файл шрифта найден, то есть id! = 1, его 0.

Кроме того, я проверил:

print("%s." % (type(QFontDatabase.applicationFontFamilies(id))))

Я ожидал, что тип будет QStringList, как предложено в руководстве (http://doc.qt.io/qt-5/qfontdatabase.html#applicationFontFamilies) но это, похоже, не тот случай. Я также не могу вызвать другие методы, такие как removeDuplicates () без ошибки, что в списке нет соответствующего атрибута.

0

Решение

Похоже, так как pyQt 5, python str объекты используются где QStringожидаются и ожидаются QStrinListведите себя соответственно. Итак, в этом случае, просто сделайте это с помощью python:

_fontstr = QFontDatabase.applicationFontFamilies(id)[0]
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]