我正在开发一个触摸屏的qml应用程序 . 该应用程序被组织到不同的屏幕中在我的 main.qml 看起来像这样

ApplicationWindow {
visible: true
width: 1024
height: 600

Screen1 {
    id: screen1
    visible: true
}

Screen2 {
    id: screen2
    visible: false
}

我通过按钮在这些屏幕之间切换,例如在Screen1上会有一个 mouseArea

onClicked: {
     screen1.visible=false
     screen2.visible=true
 }

我现在想知道这是否是这样做的方式,因为我观察到一个奇怪的行为:我在screen2上有一个按钮,它与screen1上的按钮处于同一位置(触发 Qt.quit() . 屏幕2上的按钮大部分时间都是它应该是什么 . 但是,如果我多次点击它,有时触发screen1上的退出按钮(我明确检查了 log.console 写出),虽然这个屏幕是不可见的 .

为什么会发生这种情况?如何避免这种行为?