function singleClick(){
print("Single click")
}
function dblClick(){
print("Double Click")
}
MouseArea {
id: idModuleMouseDebug;
parent: repeaterDelegate;
anchors.fill: parent;
acceptedButtons: Qt.LeftButton | Qt.RightButton
property alias oneClickThreshold:timer.interval //单次点击后经过该阈值所定义时间内没有发生第二次点击,则认为是单击事件,通过调节该阈值优化单击事件的响应速度
Timer{
id:timer
interval: 200
onTriggered: singleClick() //计时超时,触发单击事件
}
onClicked: {
if(mouse.button == Qt.RightButton) {
if(timer.running) //在阈值时间内发生第二次点击
{
dblClick() //触发双击事件
timer.stop() //停止计时,直到下一次点击
}
else
timer.restart() //此次点击前没有计时,启动计时
}
}
}
【qml】避免鼠标双击、单击事件同时触发
最新推荐文章于 2023-03-23 13:01:04 发布