import QtQuick 2.5 import QtQuick.Controls 1.4 StateImage { id: button property int hoverState: -1 property int defaultState: -1 signal clicked() Timer { id: asyncClickSender interval: 10 repeat: false running: false onTriggered: button.clicked(); } MouseArea { id: mouseArea hoverEnabled: true anchors.fill: parent onClicked: asyncClickSender.start(); onEntered: { if (hoverState >= 0) { buttonState = hoverState; } } onExited: { if (defaultState >= 0) { buttonState = defaultState; } } } }