qml 怎样改变component的颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qml 怎样改变component的颜色相关的知识,希望对你有一定的参考价值。

参考技术A 用property alias _background :backgound把背景色public化,然后修改就行

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

【中文标题】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 怎样改变component的颜色的主要内容,如果未能解决你的问题,请参考以下文章

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

QT 不更新 UI

QML - 控制Rectangle元素任何一侧的边框宽度和颜色

从头学Qt Quick-- 用QML写一个简单的颜色选择器

样式化 Qml 桌面组件

怎样改变进度条的颜色?例如拷贝或下载时的进度条颜色,请具体说明怎样使用。谢谢!