Я хотел бы использовать несколько шрифтов из семейства Ubuntu в моих таблицах стилей Qt.
Мой общий шаблон:
QLabel {
font-family: %s;
font-weight: %s;
}
Я скачал все файлы с https://design.ubuntu.com/font/ (почтовый файл).Существуют отдельные файлы для Ubuntu Regular, Ubuntu Bold, Ubuntu Medium ... поэтому я мог бы представить, что для каждого веса будет одно отдельное семейство, но оказывается, что не все веса и стили (курсив ...)похоже, они собраны в одном семействе "Ubuntu".
Я добавил несколько отпечатков в свою функцию, загружая шрифты:
def load_fonts():
all_good = True
font_path = resources.resource_path("fonts")
font_files = [fname for fname in os.listdir(font_path) if fname.endswith(".ttf")]
font_db = qt.QFontDatabase()
ids = []
for font_file in font_files:
id = font_db.addApplicationFont(
resources.resource_path("fonts/%s" % font_file))
if id == -1:
_logger.warning("Could not load font file %s", font_file)
all_good = False
ids.append(id)
print(font_files)
print([qt.QFontDatabase.applicationFontFamilies(id) for id in ids])
print("Actual families available after load: %s" % [fam for fam in font_db.families() if "bun" in fam])
return all_good
Вот что напечатано:
['UbuntuMono-BI.ttf', 'UbuntuMono-R.ttf', 'Ubuntu-MI.ttf', 'Ubuntu-B.ttf', 'Ubuntu-R.ttf', 'Ubuntu-L.ttf', 'Ubuntu-LI.ttf', 'Ubuntu-M.ttf', 'Ubuntu-RI.ttf', 'UbuntuMono-RI.ttf', 'Ubuntu-BI.ttf', 'UbuntuMono-B.ttf', 'Ubuntu-C.ttf']
[['Ubuntu Mono'], ['Ubuntu Mono'], ['Ubuntu'], ['Ubuntu'], ['Ubuntu'],['Ubuntu'], ['Ubuntu'], ['Ubuntu'], ['Ubuntu'], ['Ubuntu Mono'], ['Ubuntu'], ['Ubuntu Mono'], ['Ubuntu Condensed']]
Actual families available after load: ['Ubuntu', 'Ubuntu Condensed', 'Ubuntu Light', 'Ubuntu Mono']
Таким образом, в результате я могу сделать обычный (font-family: Ubuntu; font-weight: normal;
) и жирный (font-family: Ubuntu; font-weight: bold;
), но я не могу сделать средний (font-family: Ubuntu; font-weight: medium;
).Полученный текст идентичен тому, что я получаю с весом «нормальный».
Есть какие-нибудь подсказки о том, как я могу получить доступ к этим средним шрифтам, которые были импортированы?Qt не понимает стиль font-weight: medium;
?