Я хотел бы реализовать обработчики ключей для разных страниц StackView. Проблема со StackView заключается в том, что он использует атрибут «item» для отображения qml-страницы. Следовательно, то, что объявлено на странице StackView (например, HomePage.qml), поскольку она не создается явно, не отображается в main.qml.
Чтобы решить эту проблему, я пытаюсь объявить сигнал в окне и разместите его обратный вызов на странице StackView (это глупо, но, пожалуйста, предложите, что еще делать). Вот как это примерно выглядит:
main.qml
-----------
Window {
id: window
signal keyReceived();
property var key;
StackView {
id:stackView
initialItem: "HomePage.qml"
}
}
HomePage.qml
-------------
Page {
id: homePage
window.onKeyReceived:{
// Here "window" is not recognized, since this type of use does not exist?
}
}
В общем, я хочу иметь возможность объявить глобальную переменную, которая видна как в main.qml, так и в HomePage.qml, и иметь возможность получать уведомления от изменяет эту переменную. Будь то сигналы или другие вещи, не имеет значения. Любая помощь приветствуется.