Qt笔记-qml-button

16 篇文章 1 订阅

qml 自定义按钮 pushButton

import QtQuick 2.0

Rectangle {
    id: sysbtn

    signal clicked

    property string btnImageCurrent: "qrc:/image/ButtonNormol.png"
    property string btnImageDisable: "qrc:/image/ButtonDisabled.png"
    property string btnImageNormol:  "qrc:/image/ButtonNormol.png"
    property string btnImagePressed: "qrc:/image/ButtonPressed.png"

    property string text: "hello world"


    width: 156;//btnImage.width
    height: 67;//btnImage.height
    color:"#00000000"
    state:"normal"



    MouseArea{
        hoverEnabled: true;
        anchors.fill: parent;
        onPressed:
        {
            if ( sysbtn.state == "normal" )
               sysbtn.state = "pressed"

        }
        onReleased:
        {
            if ( sysbtn.state != "disable" )
            {
                sysbtn.state = "normal"
                sysbtn.clicked()
            }


        }

    }

    Image {
        id: btnImage
        source: btnImageCurrent
        anchors.horizontalCenter: parent.horizontalCenter
        anchors.verticalCenter: parent.verticalCenter
    }

    Text {
        id: m_text
        color: "#ffffff"
        font.pointSize: 14
        font.family: "微软雅黑"
        text: sysbtn.text
        anchors.horizontalCenter: parent.horizontalCenter
        anchors.verticalCenter: parent.verticalCenter
    }

    states: [
        State {
            name: "normal"
            PropertyChanges {
                target: sysbtn
                btnImageCurrent: btnImageNormol
            }
        },
        State {
            name: "pressed"
            PropertyChanges {
                target: sysbtn
                btnImageCurrent: btnImagePressed
            }
        },
        State {
            name: "disable"
            PropertyChanges {
                target: sysbtn
                btnImageCurrent: btnImageDisable
            }
        }

    ]

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值