c++ - 如何在我的应用程序中嵌入自定义字体

标签 c++ qt qt5

我想在我的应用程序中添加自定义字体,并且我已经添加到我的资源文件中。

我的代码如下:

int id = QFontDatabase::addApplicationFont(":/fonts/ae_AlMateen.ttf");
QMessageBox::information(this,"Message",QString::number(id));

也是.qrc文件的内容。

<RCC>
    <qresource prefix="/fonts">
        <file alias="ae_AlMateen">ae_AlMateen.ttf</file>
    </qresource>
</RCC>

但问题是 addApplicationFont 总是返回 -1

请注意当将 :/fonts/ae_AlMateen.ttf 更改为直接路径 ex:C://ae_AlMateen.ttf 时,它会起作用很好。

我希望字体文件与我的应用程序可执行文件集成,以使应用程序不需要附加字体文件。

最佳答案

啊...现在,在您添加了 .qrc 后,我明白了。易于解释:

<file alias="ae_AlMateen">ae_AlMateen.ttf</file>

您在 .qrc 文件中添加了一个别名。如果您删除 alias="ae_AlMateen",它将像我们所有人预期的那样工作...扩展名为 .ttf。

关于c++ - 如何在我的应用程序中嵌入自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30112344/

相关文章:

c++ - 用Qt5 painter正确画圆弧

c++ - 如何使模板原型(prototype)继承,以便所有特化都继承相同的类/接口(interface)?

C++ union 位域任务

c++ - 导出类 (DLL) 中静态数据成员的可访问性?

c++ - Qt:使用一个连接从多个线程写入数据库

c# - 以 C/C++ 作为后端的 WinForms 或 WPF 或 Qt for Windows GUI

windows - QT Creator 3.0.1 Windows调试突然变慢为什么?

c++ - `re.sub(pattern, functor, string)` 对于 C++

c++ - 有没有一种方法可以使 MainWindow 窗口任务栏图标闪烁?

qt - RCC : Error in 'resource.qrc' : Cannot find file '*.png'