gpt4 book ai didi

c++ - 在 C++ 中添加自定义字体并在 QML 中按其姓氏调用它们

转载 作者:太空狗 更新时间:2023-10-29 22:58:34 31 4
gpt4 key购买 nike

在我的 qrc 文件中,我有以下字体:

enter image description here

如果我将它们安装在操作系统(此处为 Windows)上,我将能够在 QML 中使用以下名称调用它们:

import QtQuick.Controls 2.0

Label {
id: label
font.family: "Universalis ADF Std"
}

但如果它们没有安装,我仍然想让它们可用于我的 QML 文件。

当然,使用QFontDatabase 一个一个地添加字体是可行的:

QDir    dir{"path/to/fonts"};
for (auto file : dir.entryList(QDir::Files))
{
if (QFontDatabase::addApplicationFont("path/to/fonts/" + file))
std::cerr << "Fail to add font " << file << std::endl;
}

但是我不能用“Universalis ADF Std”来调用整个组。请注意,C++ 部分发生在加载 QML 文件之前。我怎么能那样做?

最佳答案

感谢peppe的帖子,我意识到我制作的代码有效。我忘记了在 Windows 上安装和卸载字体后需要重新启动计算机。它搞乱了我的程序,因为我无法真正知道字体是否已正确加载。总结:

  1. 检查您要加载的字体在操作系统上是否可用。如果是这种情况,请将其卸载并重新启动您的计算机
  2. 在运行 QML 文件之前从 C++ 加载字体
  3. 为了使用字体的所有样式(粗体、斜体等),请使用其系列名称调用字体:font.family: "Universalis ADF Std"

关于c++ - 在 C++ 中添加自定义字体并在 QML 中按其姓氏调用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40089806/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com