首页 > 解决方案 > Qt Quick - 如何用彩色字体绘制文本?

问题描述

在 Qt Quick 中,我正在尝试使用以下代码绘制带有彩色字体的文本:

Text
{
    FontLoader
    {
        id: ftCustomFont;
        source: "Fonts/Colortube-lWAd.otf"
    }

    textFormat: Text.RichText

    text:
    {
        if (ftCustomFont.status == FontLoader.Ready)
            qsTr("<font face=\"" + ftCustomFont.name + "\">test test test</font>");
        else
        if (ftCustomFont.status == FontLoader.Loading)
            "Loading..."
        else
        if (ftCustomFont.status == FontLoader.Error)
            "Error loading font"
    }
}

我上面使用的字体在这里下载:https ://www.fontspace.com/neogrey-creative/colortube

使用这种字体,我希望绘制一个彩色文本,但是我得到了这个结果:

在此处输入图像描述

如您所见,文本是用正确的字体绘制的,但是是黑白的。我还尝试了几个从几个站点下载的彩色字体示例,不幸的是它们都不能绘制彩色文本。

有没有办法在绘制文本时通知 Qt 使用彩色字形而不是黑白字形?我应该如何配置我上面的 qml 代码来达到这样的效果?还是 Qt 根本不支持彩色字体?

标签: qtfontscolorsqmlqt-quick

解决方案


从 Qt 5.14 开始似乎不支持它。Glypes 已加载,但它们由颜色填充。我试图设置一个透明的颜色,但它也不起作用。因此,您可以提交错误报告


推荐阅读