qml中仅一个单词的文本颜色更改
Posted
技术标签:
【中文标题】qml中仅一个单词的文本颜色更改【英文标题】:Text color change only for one word in qml 【发布时间】:2020-08-21 09:50:58 【问题描述】:我想改变文字的颜色,如下所示:
text: "Hello World"
“Hello”应该变成“blue”并且 “世界”应该变成“红色”。
我也不想使用下面给定的格式(因为我正在从 cpp 读取颜色):
Text
text: "<font color=\"#0000FF\">Hello</font> <font color=\"#FF0000\">World</font>"
有没有其他方法可以只更改一个单词的颜色(在 qml 中)?
【问题讨论】:
【参考方案1】:另一种方法是使用Flow
和多个Text
元素。
Flow
Text
text: "Hello"
color: "#0000FF"
Text
text: " "
Text
text: "World"
color: "#FF0000"
我也不想使用下面给定的格式(因为我正在从 cpp 读取颜色):
Text text: "<font color=\"#0000FF\">Hello</font> <font color=\"#FF0000\">World</font>"
是什么阻止你做以下事情?
text: `<font color="$cppObject.helloColor">Hello</font> <font color="$cppObject.worldColor">World</font>`
这使用template literals,但您也可以使用普通的字符串连接来实现。
【讨论】:
以上是关于qml中仅一个单词的文本颜色更改的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 QML TextField 中的 placeholderText 颜色