我正在嘗試製作基於QML的字典應用程序。它通過XML RESTful API獲取單詞定義並將它們顯示在ListView中。我有它在這種基本模式下工作。但現在我試圖爲ListView:標準視圖實現兩種狀態,其中包含定義,並且在搜索失敗時顯示「您的意思是」類型建議列表。如何在QML中創建基於狀態的模型更改
我爲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聲明中實例化模型和委託,因爲解釋器會抱怨創建一個特定於狀態的對象。
謝謝,這工作完美! – teukkam 2010-09-23 11:54:17