QML 中矩形上的两种不同阴影

目的是在矩形的顶部和左侧有较暗的阴影,在同一矩形的底部和右侧有较浅的阴影。


这是我尝试过的:


import QtQuick 2.12

import QtGraphicalEffects 1.12


Rectangle

{

    width: 150

    height: 150


    Rectangle

    {

        id: rect

        color: "#292a38"

        anchors.centerIn: parent

        width: 192

        height: 42

        radius: 6

    }


    DropShadow

    {

        anchors.fill: rect

        horizontalOffset: 5

        verticalOffset: 5

        radius: 5

        samples: 6

        color: "#1c1c26"

    }


    DropShadow

    {

        anchors.fill: rect

        horizontalOffset: -5

        verticalOffset: -5

        radius: 5

        samples: 6

        color: "#343848"

    }


    InnerShadow

    {

        anchors.fill: rect

        radius: 8

        samples: 16

        horizontalOffset: 10

        verticalOffset: 10

        color: "#1a1b2f"

    }

}

其结果如下:

https://img1.mukewang.com/64c4d2e40001d28604420405.jpg

如您所见,这并不令人满意。请指导。



陪伴而非守候
浏览 165回答 1
1回答

茅侃侃

您忘记设置source效果的属性。    DropShadow    {        anchors.fill: rect        horizontalOffset: 5        verticalOffset: 5        radius: 5        samples: 6        color: "#1c1c26"        source: rect   // This is needed    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript