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 颜色

更改 TextView 中一个单词的文本颜色

如何在文本视图中更改单个单词的文本大小和颜色[重复]

如何在swift 3的表格视图中仅更改选定行和未选定行的字体颜色和大小?

更改崇高文本3中特定单词的颜色

如何在ios中更改特定单词的颜色