有没有办法在 QML 中设置线性渐变 stepwith

Posted

技术标签:

【中文标题】有没有办法在 QML 中设置线性渐变 stepwith【英文标题】:Is there a way to set the linear gradient stepwith in QML 【发布时间】:2018-12-21 09:45:34 【问题描述】:

我使用线性渐变为矩形着色。在我的显示器(480px,EGLFS)上,我可以清楚地看到 16 个色阶(见图)。有没有办法增加步数以获得更流畅的梯度。

不好的渐变

Rectangle 
    width: 800
    height: 480
    gradient: Gradient
        GradientStopposition: 1.0; color: "#404040"
        GradientStopposition: 0.0; color: "black"
    

【问题讨论】:

如果在中间点(位置 0.5)添加一个颜色介于 #404040 和黑色之间的 GradientStop 会更好吗?另外,如果将它嵌入到 LinearGradient 中会怎样? doc.qt.io/qt-5/qml-qtgraphicaleffects-lineargradient.html 【参考方案1】:

问题在于,渐变的颜色多于显示器所能显示的颜色(256 为 850)。这称为色带 (https://en.wikipedia.org/wiki/Colour_banding)。 通过使用指示的 .png 而不是渐变来减少颜色后,它看起来没问题。

【讨论】:

以上是关于有没有办法在 QML 中设置线性渐变 stepwith的主要内容,如果未能解决你的问题,请参考以下文章

在 QML 中设置 ListElement 的图标颜色

如何在 QML 中设置鼠标光标位置

在 UITableviewcell swift 中设置水平渐变

在 QML 中设置子项属性的正确方法

在 UITabBar 背景中设置渐变

如何在 QML 中设置 MessageDialog 的默认按钮?