Как использовать нестандартный пользовательский шрифт с таблицами стилей?
У меня есть 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)