Android에서 Qt 5.2.1을 사용하고 있는데 아래 코드와 같은 주 응용 프로그램 창이 있습니다. (예를 들어 약간의 인위적이지만 약간의 작업이 있지만 정확하게 무엇을하는지 보여줍니다) :QtQuick에서 특정 항목 팝업 StackView
property Component mainMenuView: MainMenuView {
onMoviesSelected: {
stackView.push(moviesListView)
}
onSettingsSeleted: { }
onAboutSeleted: { }
}
property Component moviesListView: MovieListView {
onMovieSelected: {
stackView.push(movieDetailView)
}
onBack: stackView.pop()
}
property Component movieDetailView: MovieDetailView {
onCreditsSelected: {
stackView.push(personListView)
}
onBack: stackView.pop()
}
property Component personListView: PersonListView {
onPersonSelected: {
// Pending...
}
onBack: stackView.pop()
}
아이디어는 메뉴에서 선택하면 영화를 볼 수 있습니다. 당신은 영화에서 선택, 당신은 영화 세부 사항을 참조하십시오. 크레딧을보기로 선택하면 캐스트와 승무원 목록이 표시됩니다. 이 모든 것은 StackView
을 사용하며 정상적으로 작동합니다. 뒤로 버튼도 잘 돌아가며 한 번에 하나씩보기를 숨 깁니다.
이제 personListView
에서 특정 사람을 선택하면 바로 moviesListView
으로 건너 뛰고 중간 movieDetailView
을 놓치고 싶습니다. 아이디어는 영화 목록에 선택한 사람이 포함 된 영화 만 표시된다는 것입니다.
이 경우에는 moviesListView
을 다른 것으로 밀어 넣을 수 있습니다.하지만이 예는 일반적인 문제를 설명하기 위해 고안되었습니다.
이렇게하려면, 당신은 StackView
pop()
메소드를 호출하고 '항목을'다시 가고 싶은 제공 할 수 있습니다 - 그래서 나는이 시도 :
property Component personListView: PersonListView {
onPersonSelected: {
stackView.pop(moviesListView)
}
onBack: stackView.pop()
}
, 거기에 오류 메시지를 (그래서 나는 그것이 movieListView
이 존재한다는 것을 알고 있다고 가정한다). 그러나 바로 이전의 뷰, 즉 movieDetailView
으로 다시 나타난다. 해당보기를 놓치고 movieListView
을 표시해야합니다.
mainMenuView
으로 다시 이동하려고 시도하면 바로 이전 movieDetailView
으로 다시 팝됩니다.
내 생각에 Component
을 사용하는 것과 어떻게 관련이 있습니까? 그렇다면 어떻게해야합니까? 아니면 다른 것이 잘못입니까?