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

У меня есть приложение 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;
}

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


person Chris Aung    schedule 15.01.2015    source источник


Ответы (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)
person ekhumoro    schedule 15.01.2015