在QFont中是否有一个命令可以获得字体的样式。我想出了如何获得字体文件的姓氏,而不是文件的特定样式。我找到了一个命令,它返回与字体系列关联的整个样式列表。
styleList = QtGui.QFontDatabase.styles(fontFamilyName)我需要特定字体文件的精确样式。例如,如果我将arialb.ttf作为输入,我应该得到姓氏: Arial;style:粗体。有什么想法吗?
但是我正在尝试那些没有安装在机器上的字体。这是我的密码。
fontFile = "C:\Users\Desktop\abc.otf"
fontdb = QtGui.QFontDatabase()
id = fontdb.addApplicationFont(fontFile)
family = fontdb.applicationFontFamiles(id)
font = QtGui.QFont(family[0])
print font.styleName()发布于 2015-05-21 21:55:20
您应该始终使用QFontInfo获取有关字体的准确信息。QFont只会显示所请求的内容,而不是系统实际能够提供的内容:
>>> font = QtGui.QFont('Arial')
>>> font.family()
'Arial'
>>> fontinfo = QtGui.QFontInfo(font)
>>> fontinfo.family()
'Helvetica'我没有在我的系统上安装"Arial“,所以字体解析为最接近的等价物,即"Helvetica”。要获得样式,可以这样做:
>>> fontinfo.styleName()
'Regular'或者直接查询属性:
>>> fontinfo.bold()
False
>>> fontinfo.italic()
Falsehttps://stackoverflow.com/questions/30383029
复制相似问题