首页 > 解决方案 > 如何在 QML 中操作颜色

问题描述

我想做这样的事情:

Item {

    property color primary_color

    Rectangle {
        color: Qt.rgba(primary_color.red/2, primary_color.green, primary_color.blue, primary_color.alpha<0.5?0.25:0.75)
    }
}

但我怎样才能访问这些属性?

标签: qtcolorsqmlrgba

解决方案


来自http://doc.qt.io/qt-5/qml-color.html文档:

颜色类型具有 r、g、b 和 a 属性,分别表示颜色的红色、绿色、蓝色和 alpha 值。此外,它还具有 hsvHue、hsvSaturation、hsvValue 和 hslHue、hslSaturation、hslLightness 属性,允许相应地访问 HSV 和 HSL 颜色模型中的颜色值:

Item {

    property color primary_color

    Rectangle {
        color: Qt.rgba(primary_color.r/2, primary_color.g, primary_color.b, primary_color.a<0.5?0.25:0.75)
    }
}

推荐阅读