本页内容

Color QML Type (Singleton)

包含与颜色相关的实用函数。更多...

Import Statement: import QtQuick
Since: Qt 6.12

注意:此类型是 QML 单例。QML 引擎中仅存在一个此类实例。

方法

  • color blend(color a, color b, real factor)
  • color darker(color baseColor, real factor)
  • bool equal(color lhs, color rhs)
  • color fromString(string name)
  • color hsla(real hue, real saturation, real lightness, real alpha)
  • color hsva(real hue, real saturation, real value, real alpha)
  • color lighter(color baseColor, real factor)
  • color rgba(real red, real green, real blue, real alpha)
  • color tint(color baseColor, color tintColor)
  • color transparent(color color, real opacity)

详细说明

方法文档

color blend(color a, color b, real factor)

返回由a 和b 混合而成的颜色。该颜色通过对a 和b 的 RGB 颜色通道分别进行线性插值而生成。

如果factor 小于 0.0,则返回a 。如果 factor 大于 1.0,则返回b 。

color darker(color baseColor, real factor)

返回一种比baseColor 更深的颜色,其深浅程度由factor 参数指定。

该函数将当前的 RGB 颜色转换为 HSV 格式,将色值 (V) 分量除以 factor,然后将颜色重新转换回 RGB 格式。

如果因子大于 1.0,则该函数返回更深的颜色。 将因子设置为 3.0 将返回亮度为原色三分之一的颜色。如果因子小于 1.0,返回的颜色会更浅,但我们建议为此目的使用Color::lighter() 函数。如果因子为 0 或负数,返回值未定义。

bool equal(color lhs, color rhs)

如果 `lhs ` 和 `rhs ` 相等,则返回 `true`。参见 `operator==()`。

注意:此 函数是Qt::colorEqual() 的类型化版本。

color fromString(string name)

返回与给定的name (即红色或#ff0000)相对应的颜色。如果不存在该颜色,则会抛出异常。

color hsla(real hue, real saturation, real lightness, real alpha)

返回一个具有指定hue 、saturation 、lightness 和alpha 分量的颜色。所有分量均应在0-1(含)的范围内。

color hsva(real hue, real saturation, real value, real alpha)

返回一种颜色,其hue 、saturation 、value 和alpha 分量值分别为指定值。所有分量值均应在0-1(含)的范围内。

color lighter(color baseColor, real factor)

返回一种比baseColor 更浅的颜色,其浅度由factor 参数指定。

该函数将当前的RGB颜色转换为HSV,将值(V)分量乘以因子,然后将颜色重新转换回RGB。

如果因子大于 1.0,该函数将返回更浅的颜色。 将因子设置为 1.5 将返回亮度提高 50% 的颜色。如果因子小于 1.0,返回的颜色会变暗,但我们建议为此目的使用Color::darker() 函数。如果因子为 0 或负数,返回值未定义。

color rgba(real red, real green, real blue, real alpha)

返回一种具有指定red 、green 、blue 和alpha 分量的颜色。所有分量均应在0-1(含)的范围内。

color tint(color baseColor, color tintColor)

此函数允许将一种颜色(baseColor )与另一种颜色(tintColor )进行调色。

色调颜色通常应保持高度透明,否则将无法看到底色。下面的示例通过将色调颜色设为纯红色(其不透明度仅为1/16)来产生轻微的红色色调。

Item {
    Rectangle {
        x: 0
        width: 80
        height: 80
        color: "lightsteelblue"
    }
    Rectangle {
        x: 100; width: 80; height: 80
        color: Color.tint("lightsteelblue", "#10FF0000")
    }
}

一个浅钢蓝色正方形与一个经过色调调整的浅钢蓝色正方形的并排展示

当需要因某种事件而传达细微的变化时,着色功能最为有用;此时,您可以利用着色来更有效地调整可见颜色。

color transparent(color color, real opacity)

返回color ,其透明度值(alpha)为opacity ,该值范围为0(完全透明)到1(完全不透明)。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.