如何使用快捷方式模拟按钮单击?

时间:2017-12-04 14:37:34

标签: javascript qt qml qt-quick

我有一种手工制作的按钮:

Rectangle {

    // ...

    Text {
        // ...
    }

    Shortcut {
        sequence: if (number!=12) "F"+number
        onActivated: (valve.opened) ? valve.open() : valve.close()
    }

    MouseArea {
        anchors.fill: parent
        onClicked: (valve.opened) ? valve.open() : valve.close()
        onPressed: parent.color = (valve.opened) ? "forestgreen" : "grey"
        onReleased: parent.color = (valve.opened) ? "lightgreen" : "#A8A8A8"
    }
}

用鼠标按下此按钮可更改按钮的背景颜色,然后释放返回其自然颜色(看起来像普通按钮的行为)。

enter image description here

该按钮也有其快捷方式。如何在Shortcut添加类似行为,即在按下某些键盘快捷键时更改按钮的颜色,然后在释放按钮后更改颜色?现在它只执行此按钮的操作。

1 个答案:

答案 0 :(得分:0)

快捷方式只是被触发(多次)并且没有被按下的概念。您应该使用Keys.onPressedKeys.onReleased自行实施,有关详细信息,请参阅Keys