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

Lio*_*ing 6 c++ qt qt5

我想为我的应用程序添加自定义字体,我已经添加到我的资源文件中.

我的代码如下:

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

也是.qrc文件的内容.

<RCC>
    <qresource prefix="/fonts">
        <file alias="ae_AlMateen">ae_AlMateen.ttf</file>
    </qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)

但问题是addApplicationFont总是回归-1.

请注意,当更改:/fonts/ae_AlMateen.ttf为直接路径ex:C://ae_AlMateen.ttf它工作正常.

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

Gre*_*low 2

啊……现在,在你添加了 .qrc 之后,我明白了。很容易解释:

<file alias="ae_AlMateen">ae_AlMateen.ttf</file>
Run Code Online (Sandbox Code Playgroud)

您在 .qrc 文件中添加了别名。如果您删除alias="ae_AlMateen"它将按照我们的预期工作......带有 .ttf 扩展名。