stackflow提供的思路
function singleClick(){print("Single click")
}
function dblClick(){print("Double Click")
}
MouseArea {id: idModuleMouseDebug;parent: repeaterDelegate;anchors.fill: parent;acceptedButtons: Qt.LeftButton | Qt.RightButtonproperty alias oneClickThreshold:timer.interval //单次点击后经过该阈值所定义时间内没有发生第二次点击,则认为是单击事件,通过调节该阈值优化单击事件的响应速度Timer{id:timerinterval: 200onTriggered: singleClick() //计时超时,触发单击事件}onClicked: {if(mouse.button == Qt.RightButton) {if(timer.running) //在阈值时间内发生第二次点击{dblClick() //触发双击事件timer.stop() //停止计时,直到下一次点击}else timer.restart() //此次点击前没有计时,启动计时}}
}