如何在按下和释放时更改qml按钮的背景图像

时间:2015-05-07 04:30:22

标签: qt qml qtquick2 qt5.4

我需要在按下时更改Button的背景图像。 如果我在按下Button之前有背景图像,我需要在按下Button时更改背景图像,然后在{{Button时将其设置回原始背景图像1}}被释放。

这是我目前的代码:

property bool bImgChange: true

Button {
    id: bu
    x: 121
    y: 40
    iconSource: "q.png"
    activeFocusOnPress: false
    opacity: 1
    checkable: true
    checked: true
    Layout.minimumWidth: 100
    Layout.minimumHeight: 100

    onClicked: {
        if ( bImgChange == true )
        {
            bu.iconSource = "index.png"
            bImgChange = false
        }
        else
        {
            bu.iconSource = "q.png"
            bImgChange = true
        }
    }
}

以上代码仅在点击Button时设置背景图像,而我需要在按下和释放时更改背景图像。

1 个答案:

答案 0 :(得分:3)

Button有一个属性pressed,可以像这样使用:

Item {
    Image { source: btn.pressed? "image1.png" : "image2.png"; ...}
    Button { id: btn; ... }
}

或者,如果您要更改iconSource的{​​{1}},可以尝试以下方法:

Button

希望它有所帮助。