qt - 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 根本不支持彩色字体?
解决方案
从 Qt 5.14 开始似乎不支持它。Glypes 已加载,但它们由颜色填充。我试图设置一个透明的颜色,但它也不起作用。因此,您可以提交错误报告。
推荐阅读
- sql - 如何使用具有两个不同组的 max() 函数进行选择
- javascript - Div carousel Slider html css 和 javacript,按钮位于不同部分
- react-native - 如何在 App 存储中存储一些数据?
- python - 'DataFrame' 对象没有属性 'url'
- java - 杰克逊序列化具有相同名称的嵌套属性
- r - 将列转置为变量
- c# - 验证包含 $schema 属性的 JSON 数据文件的工作流程
- angular - 具有不同 z-indexes 角度第 3 方库的重复元素上的重复事件
- r - 删除数据框中字母长度为 1 的行
- reactjs - 反应 window.innerWidth 的更新值