Как использовать нестандартный пользовательский шрифт с таблицами стилей?

У меня есть PyQt4 приложение, которое разрабатывается внешним .qss файл с помощью следующего кода:

...
app = QtGui.QApplication(sys.argv)
stylesheet = open('mystylesheet.qss').read()
app.setStyleSheet(stylesheet)
...

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

QMainWindow
{
font-family:arial;
font-size:14px;
}

Но теперь мне интересно, можно ли мне назначить собственный шрифт, загруженный из Интернета (например, DroidSansMono (True Type Font)) вместо стандартного шрифта Windows?

ПРИМЕЧАНИЕ. Я использую 32-разрядную версию Windows XP SP3 с Python 2.7.

ОБНОВЛЕНИЕ 1:

На основании ответа Эхуморо:

Я могу использовать загруженный пользовательский шрифт, добавив его в базу данных шрифтов перед загрузкой Stylesheet:

QtGui.QFontDatabase.addApplicationFont("Resources/Mf Wedding Bells.ttf")

После этого я могу просто использовать имя шрифта, которое я только что добавил в таблицу стилей, вот так:

QLabel
{
font-family:Mf Wedding Bells;
font-size:16px;
}

И это работает!!!

1 ответ

Решение

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

app = QtGui.QApplication(sys.argv)
QtGui.QFontDatabase.addApplicationFont('path/to/font')
# or load the font data directly
# QtGui.QFontDatabase.addApplicationFontFromData(fontdata)
stylesheet = open('mystylesheet.qss').read()
app.setStyleSheet(stylesheet)
Другие вопросы по тегам