QML ベースの辞書アプリケーションを作成しようとしています。XML RESTful API を介して単語の定義を取得し、それらを ListView に表示します。この初歩的なモードで動作しています。しかし今、ListView に 2 つの状態を実装しようとしています。定義を含む標準ビューと、検索が失敗したときの「もしかして」タイプの提案リストです。
ListView の現在のコードは次のようになります。
ListView
{
SuggestionModel{id:suggestionModel; currentWord : "test"}
SuggestionDelegate{id:suggestionDelegate}
model : XmlModel{id: standardModel; currentWord : "test"}
delegate : ListDelegate{id:standardDelegate}
clip : true
anchors.top : hbox.bottom
y : hbox.height + 3
width : parent.width
height : parent.height - hbox.height
id : list
states :
State { name: "suggestion"; when: list.model == suggestionModel ||
list.model.status == XmlListModel.Ready && list.count == 0
PropertyChanges {
target: list
model : suggestionModel
delegate : suggestionDelegate
}
}
focus : true
keyNavigationWraps : true
}
このエラーが発生します:
Unable to assign QObject* to QDeclarativeComponent*
PropertyChanges
宣言のために。バインディング ループもありますが、それは私が修正できなかった問題ではありません。私の問題は、状態をどのように定義するかです。State 宣言内でモデルとデリゲートをインスタンス化することもできません。インタープリターが状態固有のオブジェクトの作成について文句を言うからです。