約 100 画面の QtQuick プロジェクトを開発する必要があります。
ボタンをクリックすると 3 つの画面が表示されるナビゲーションのデモ プロジェクトを作成しようとしました。ページ間のナビゲーションで「状態」の概念を使用していました。最初に「ローダー」を使用して同じことを試みましたが、ローダーはページの以前の状態を保持できず、ナビゲーション中にページ全体を再読み込みしていました。
以下は、main.qml のコード スニペットです。
// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
import QtQuick 1.1
Rectangle {
id:main_rectangle
width: 360
height: 640
Page1{
id:page1
}
Page2{
id:page2
}
Page3{
id:page3
}
states: [
State {
name: "page2"
PropertyChanges { target: page3; visible:false; }
PropertyChanges { target: page1; visible:false; }
PropertyChanges { target: page2; visible:true; }
},
State {
name: "page1"
PropertyChanges { target: page3; visible:false; }
PropertyChanges { target: page2; visible:false; }
PropertyChanges { target: page1; visible:true; }
},
State {
name: "page3"
PropertyChanges { target: page1; visible:false; }
PropertyChanges { target: page2; visible:false; }
PropertyChanges { target: page3; visible:true; }
}
]
}
これは、3 つの画面を持つ小さな POC ではうまく機能しますが、100 画面の状態を定義することは現実的ではありません。
設計の観点から、さまざまなページの状態、可視性を制御する C++ コントローラーを作成することにしました。
C++ で「状態」ロジックを実装する方法の提案が必要です。