我想在我的应用程序中添加自定义字体,并且已经添加到我的资源文件中。
我的代码如下:
.qrc
<RCC>
<qresource prefix="/fonts">
<file alias="ae_AlMateen">ae_AlMateen.ttf</file>
</qresource>
</RCC>
档案的内容。
addApplicationFont
但问题是-1
总是返回:/fonts/ae_AlMateen.ttf
。
注意将C://ae_AlMateen.ttf
更改为直接路径ex:<?php
$tokens = explode("/", $_SERVER[REQUEST_URI]);
$number = $tokens[count($tokens) - 1];
$sql = "SELECT id, post_title, username, content_url, pro_pic, username FROM posts WHERE id = ".$number;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<br><div class='entire_post'><center><img class='pro_pic' src=http://cdn.bithumor.co/pro_pics/" . $row['pro_pic']. "></center><title>" . $row['post_title']. " </title><center><font face='HelveticaNeue-Light' font size='5'>" . $row['username']. "</font> </center><center><img class='upload' src=http://cdn.bithumor.co/uploads/" . $row["content_url"]. " width='100%'></center> " . $row["id"]. "<br></div>";
}
$conn->close();
?>
时效果正常。
我希望将字体文件与我的应用程序可执行文件集成,以使应用程序不需要附加字体文件。
答案 0 :(得分:1)
如果您还使用qml,则可以在qml文件in this way中加载字体。我推荐它。
如果您仍想从cpp文件加载字体,请阅读this article,它可能对您有帮助。
修改强>: 以下代码可以在OSX10.10上的Qt5.4.1上运行。 (字体嵌入可执行文件中)
int id = QFontDatabase::addApplicationFont(":/fonts/fontawesome-webfont.ttf");
QMessageBox::information(NULL,"Message",QString::number(id)); // this shows id is 0.
QFont font;
font.setFamily("FontAwesome");
font.setPointSize(30);
ui->commandLinkButton->setFont(font);
ui->commandLinkButton->setText("\uf021"); // this shows the Refresh icon.
<强> EDIT2 强>: 我用Qt5.4.1(msvc2013 64bit)在Win7上做了另一个测试。该字体嵌入在exe文件中。一切正常。
答案 1 :(得分:0)
啊......现在,在你添加.qrc之后,我明白了。易于解释:
<file alias="ae_AlMateen">ae_AlMateen.ttf</file>
您在.qrc文件中添加了别名。如果您删除 alias =“ae_AlMateen”,它将按我们所有人的预期工作...扩展名为.ttf。