如何在样式表中使用非标准自定义字体?

2024-06-18 20:05:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个PyQt4应用程序,它由外部.qss文件通过使用以下代码进行样式设置:

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

通常,我会在.qss文件中指定要使用的字体类型,如下所示:

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

但是,现在我想知道是否可以指定一种从internet下载的自定义字体(例如,DroidSansMono(真字体))而不是windows标准字体?

注意:我使用的是32位Windows XP SP3,Python 2.7

更新1:

根据Ekhuroo的回答:

我可以使用下载的自定义字体,方法是在加载Stylesheet之前将其添加到字体数据库:

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

之后,我可以简单地使用刚刚在样式表中添加的字体名,如下所示:

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

而且有效!!!


Tags: 文件代码app应用程序size字体familyfont
1条回答
网友
1楼 · 发布于 2024-06-18 20:05:53

这只是一个猜测,因为我自己无法测试它,但是您可以在设置样式表之前尝试loading the font

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)

相关问题 更多 >