我在 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(...)
函数与alpha
函数的位置进行比较,则会出现明显的不一致(在前面,而不是像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中可以毫不费力地使用它们吗?
答案 0 :(得分:3)
没有
建立@Gwen所说的内容,你可以定义自己的函数,它接受整数并转换为浮点数,然后在任何地方调用它。