QML:使用标准整数 RGB 值的任何方式?
QML: Any way of using the standard integer RGB values?
我在 Windows 10 上使用 Qt 5.7,我对 比较陌生QML。我目前正在向我的应用程序添加一些颜色,令我吃惊的是,似乎没有办法对颜色使用普通整数 RGB 值(不是十六进制)。有(据我所知)三种直接的方法(不使用 QColor
的 Qt C++ 函数与 QML
代码结合)将项目设置为特定颜色:
Qt.rgba(...)
- 我遇到了两个问题,第一个是 RGB
值使用浮点数,第二个是奇怪的调用 - 我发现自己经常忘记我必须把 Qt.
放在函数前面,不用说这很烦人(但这只是我 :P):
Rectangle {
width: 100
height: 100
color: Qt.rgba(0.502, 0.502, 0.502, 1)
border.width: 1
}
#
- 我在这里又遇到两个问题,第一个是如果我们将它与 Qt.rgba(...)
函数在 [=20 的放置方面进行比较时明显的不一致=] 值(这里在前面,而不是像 Qt.rgba(...)
的最后一个参数那样在末尾),第二个是十六进制的用法:
Rectangle {
width: 100
height: 100
color: "#FF808080"
border.width: 1
}
颜色名称 - 如果英语是您的母语并且您熟悉 Qt 中可用的大量颜色名称(使用 SVG color naming),这很好(也许):
Rectangle {
width: 100
height: 100
color: "grey"
border.width: 1
}
以上三种着色约定代表相同的颜色(RGB
:128、128、128)。我真的更喜欢使用普通整数值,因为我对它们更熟悉。是否可以在 QML 中使用这些而无需任何额外的努力?
没有
根据@Gwen 的说法,您可以定义自己的函数,它接受整数并将其转换为浮点数,然后在任何地方调用它。
我在 Windows 10 上使用 Qt 5.7,我对 比较陌生QML。我目前正在向我的应用程序添加一些颜色,令我吃惊的是,似乎没有办法对颜色使用普通整数 RGB 值(不是十六进制)。有(据我所知)三种直接的方法(不使用 QColor
的 Qt C++ 函数与 QML
代码结合)将项目设置为特定颜色:
Qt.rgba(...)
- 我遇到了两个问题,第一个是RGB
值使用浮点数,第二个是奇怪的调用 - 我发现自己经常忘记我必须把Qt.
放在函数前面,不用说这很烦人(但这只是我 :P):Rectangle { width: 100 height: 100 color: Qt.rgba(0.502, 0.502, 0.502, 1) border.width: 1 }
#
- 我在这里又遇到两个问题,第一个是如果我们将它与Qt.rgba(...)
函数在 [=20 的放置方面进行比较时明显的不一致=] 值(这里在前面,而不是像Qt.rgba(...)
的最后一个参数那样在末尾),第二个是十六进制的用法:Rectangle { width: 100 height: 100 color: "#FF808080" border.width: 1 }
颜色名称 - 如果英语是您的母语并且您熟悉 Qt 中可用的大量颜色名称(使用 SVG color naming),这很好(也许):
Rectangle { width: 100 height: 100 color: "grey" border.width: 1 }
以上三种着色约定代表相同的颜色(RGB
:128、128、128)。我真的更喜欢使用普通整数值,因为我对它们更熟悉。是否可以在 QML 中使用这些而无需任何额外的努力?
没有
根据@Gwen 的说法,您可以定义自己的函数,它接受整数并将其转换为浮点数,然后在任何地方调用它。