首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python在QT5.10中加载自己的字体(PyQT 5.10)

用Python在QT5.10中加载自己的字体(PyQT 5.10)
EN

Stack Overflow用户
提问于 2018-02-13 08:30:28
回答 1查看 2.2K关注 0票数 2

我尝试在CentOS 7(Python3.6.2)上加载自己的字体,安装了QT5.10和PyQT 5.10。我尝试使用以下代码:

代码语言:javascript
复制
id = QFontDatabase.addApplicationFont("/PATH/party.ttf")
_fontstr = QFontDatabase.applicationFontFamilies(id).at(0)
_font = QFont(_fontstr, 8)
app.setFont(font)

然而,我收到:

AttributeError:'list‘对象没有属性'at’

我检查了字体文件,即id != 1,它的0。

此外,我检查了:

代码语言:javascript
复制
print("%s." % (type(QFontDatabase.applicationFontFamilies(id))))

我预期该类型为QStringList,正如手册(http://doc.qt.io/qt-5/qfontdatabase.html#applicationFontFamilies)所建议的那样,但情况似乎并非如此。我也不能调用其他方法,如removeDuplicates(),但在列表中没有符合属性的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 08:49:33

看起来,从pyQt 5开始,就会使用python str对象,其中QString的行为与预期的QStrinList相应。因此,在本例中,只需使用python方式:

代码语言:javascript
复制
_fontstr = QFontDatabase.applicationFontFamilies(id)[0]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48762429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档