我尝试在resources.qrc文件中嵌入一个字体,并在运行时使用QFontDatabase::addApplicationFont
加载它(始终返回-1)
在Ubuntu-gnome(根据文档可能失败)和Windows Server 2008上都尝试过(也失败了)。
示例字体:http://bazaar.launchpad.net/~ralsina/ubuntuone-windows-installer/no-credentials/view/head:/data/Ubuntu-R.ttf (在ubuntuone app中使用,所以应该在qt中工作)
示例加载代码:
int result = QFontDatabase::addApplicationFont(":/fonts/Ubuntu-R.ttf");
结果总是-1
答案 0 :(得分:1)
感谢Akhil V Suku和user4419802指点解决方案。它与资源有关,而不是字体。
从相对路径成功加载字体。我的lib静态链接到主应用程序,因此需要使用Q_INIT_RESOURCE
其他发现的问题:
路径必须是“:/fonts/Ubuntu-R.ttf”形式,而不是“qrc:/fonts/Ubuntu-R.ttf”