qt QFontDatabase::addApplicationFont添加ttf字体总是返回-1解决方案

这篇博客是修正于qt for android中文字体显示异常解决方案这篇博客
解决方案其实在上面博客也贴出来,这里只是重申一下;
下面看我使用的方式:

  int fontId = QFontDatabase::addApplicationFont("qrc:/2.ttf");
  qInfo()<<"fontid"<<fontId;
  //将字体Id传给applicationFontFamilies,得到一个QStringList,其中的第一个元素为新添加字体的family
  QString androidFont = QFontDatabase::applicationFontFamilies(fontId).at(0);
  QFont font(androidFont);
  QGuiApplication::setFont(font);

这样写, fontid会一直返回-1,原因就是找不到字体TTF的路径,只要将 qrc:/2.ttf 改为 :/2.ttf 即可解决,亲测,其他问题以及字体库的下载,具体可以看我上面提到的博客。

你可能感兴趣的:(QT)