QML制作圆形的按钮,并带图片

按钮代码如下

import QtQuick 2.15

Rectangle{
    property string imageSource : image.source

    signal buttonClicked()

    id:circleButton
    anchors.fill: parent
    color:"#4091E8"
    radius:width/2

    Image{
        id:image
        x:(circleButton.width - width) / 2
        y:(circleButton.height - height) / 2
        width: parent.width / 2
        height: parent.height / 2
        fillMode: Image.PreserveAspectFit
        horizontalAlignment: Image.AlignHCenter
        verticalAlignment: Image.AlignVCenter
        source: imageSource
    }

    MouseArea {
        id: mouseArea
        anchors.fill: parent
        hoverEnabled: true // 启用悬停事件

        onEntered: {
            circleButton.color = "#7DB8FF"; // 鼠标进入时改变颜色
        }

        onExited: {
            circleButton.color = "#6CADFF"; // 鼠标离开时恢复颜色
        }

        onPressed: {
            circleButton.color = "#6CADFF";
        }

        onReleased: {
            circleButton.color = "#7DB8FF";
        }

        onClicked:{
            circleButton.buttonClicked();
        }
    }
}

应用代码如下

Rectangle{
          x:2 * rectText.width  / 3 + 20
          width: 45
          height: 45
          color:"transparent"
          ircleButton{
                    imageSource: "resources/Add.png"
                    onButtonClicked: {
                        console.log("onClicked add")
                    }
                }
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值