QML之带回弹的button按钮

1.先qml自带的button上扩展一个ButtonExt.qml

import QtQuick 2.0
import QtQuick.Controls 2.0
import QtGraphicalEffects 1.0

Button {
    id: root

    property color backgroundDefaultColor: "#FFFFFF"
    property color backgroundPressedColor: Qt.darker("#4E5BF2", 1.2)
    property color contentItemTextColor: "black"
    property bool  pressing: false

    text: "Button"
    contentItem: Text {
        text: root.text
        color: root.contentItemTextColor
        font.pixelSize: 15
        font.family: "Arial"
        font.weight: Font.Thin
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
        elide: Text.ElideRight
    }

    background: Rectangle {
        implicitWidth: 83
        implicitHeight: 37
        color: pressing ? root.backgroundPressedColor : root.backgroundDefaultColor
        radius: 3
        layer.enabled: true
        layer.effect: DropShadow {
            transparentBorder: true
            color: !pressing ? root.backgroundPressedColor : root.backgroundDefaultColor
            samples: 20
        }
    }
}

2.引用和使用这个控件

ButtonExt
            {
                id:grade1
                implicitHeight: 40
                implicitWidth: 80
                text:"1级"

                onClicked: {
                    pressing = !pressing
                }

            }

3.效果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值