QML 中奇怪的 ListView 和 MouseArea 行为

Strange ListView and MouseArea behaviour in QML

我的 QML 应用程序有一个横向菜单 (ListView),它会根据用户选择的项目加载不同的页面。我的问题是,有时触摸输入会被注册但不会执行,直到屏幕接收到另一个输入(不一定在列表的元素上)并且这是随机发生的,至少从我的初始测试来看是这样。其他一切显然都很好,我不知道可能是什么原因。我尝试 console.log() 每个元素来确认此行为,实际上直到第二次输入发生时才显示输出。该应用程序还有一个 MouseArea 填满整个屏幕,在任何 touch/mouse 事件之后计时器启动,如果它没有收到任何输入,则 2 分钟后会显示“空闲”页面。起初我认为这可能会以某种方式捕获鼠标事件,但摆脱它并不能解决问题 这是定时器的代码:

Timer {
    id: timerStandby
    interval: 120000
    triggeredOnStart: false
    onTriggered: mainLoader.source = "StandbyMenu.qml"
    }
}

// Fill screen to catch user input and hide cursor
MouseArea {
    id: timerStandbyArea
    z: 100
    propagateComposedEvents: true
    anchors.fill: parent
    cursorShape: Qt.BlankCursor
    onClicked: {
        timerStandby.restart()
        mouse.accepted = false;
        //console.log("start timer")
        testTch.visible = true
    }
    onPressed: {
        timerStandby.restart()
        mouse.accepted = false;
        //console.log("start timer")
        testTch.visible = true
    }
    onReleased: {
        timerStandby.restart()
        mouse.accepted = false;
        //console.log("start timer")
        testTch.visible = false
    }
    onDoubleClicked: {
        timerStandby.restart()
        mouse.accepted = false;
        //console.log("start timer")
    }
    onPositionChanged: {
        timerStandby.restart()
        mouse.accepted = false;
        //console.log("start timer")
    }
    onPressAndHold: {
        timerStandby.restart()
        mouse.accepted = false;
        //console.log("start timer")
    }
}

我的下一个假设是我的列表是问题所在,但一个简单的 ColumnLayout 行为方式相同

使用 QML 分析器我注意到 OnClicked 事件并不总是 return released() 信号。作为临时解决方案,我决定对该特定列表使用 onPressed,但仍然不确定为什么会发生这种情况