Qt 如何在QML中模拟按钮

Qt 如何在QML中模拟按钮,qt,qml,Qt,Qml,我想模仿QML中的按钮,但为什么它只适用于containsMouse和!contains使用,它不能与按下的一起使用。你能帮助我吗?多谢各位 Item { id: area property string str_noPressed; property string str_hover; property string str_pressed; Image { id: backgrou

我想模仿QML中的按钮,但为什么它只适用于
containsMouse
!contains使用
,它不能与按下的一起使用。你能帮助我吗?多谢各位

   Item {
        id: area
        property string str_noPressed;
        property string str_hover;
        property string str_pressed;

        Image {
            id: background
            width: 75; height: 75
            source: userArea.containsMouse ? str_hover : str_noPressed

            MouseArea {
                id: userArea
                anchors.fill: parent
                onClicked: {}
                onPressed: background.source = str_pressed
                hoverEnabled: true
            }
        }
    }

显然,在按下按钮时,它还包含鼠标

我假设
containsMouse
优先于
onPressed
。尝试:

onContainsMouseChanged:  {
    if (containsMouse && !pressed) {
        background.source = str_pressed
    }
}

首先谢谢你的帮助。。我很抱歉。存在错误:无效的属性分配:“containsMouse”是只读属性。。这是我代码中的错误。我更新了它。那么?