Я использую QFontDatabase:addApplicationFont, и он работает по назначению, но я хочу получить имя семейства шрифтов из последнего загруженного файла ttf, поскольку предполагаемое его использование позволяет пользователю использовать любой шрифт, на который они указывают.
В основном я хочу знать, возможно ли это в QFont или мне придется полагаться на другую библиотеку.
QFontDatabase::addApplicationFont(font_path);
ui_vp_message->setFont(QFont(ttf_font_family_name, f_weight));
Вы можете получить имена, используя метод QFontDatabase::applicationFontFamilies()
:
int id = QFontDatabase::addApplicationFont(font_path);
if (id != -1){
QStringList font_families = QFontDatabase::applicationFontFamilies(id);
qDebug()<< font_families;
}
@Uri Вы выполнили проверки, которые я использую в своем коде как if (id != -1)
?
@Uri Я этой проблемы не наблюдал, по следующей ссылке мой тестовый код github.com/eyllanesc/stackoverflow/tree/master/questions/…
Спасибо за Ваш ответ! Это определенно в правильном направлении, но поскольку setfont(QFont(x, y)); допускает только qstrings, а не списки, я пытался выполнить setFont(QFont(font_family.at(0)), что приводит к сбою сегментации. Я не понимаю, почему, должен ли я искать обходной путь?