リスト/詳細パターンに問題があります。QObject
から継承し、いくつかのプロパティを定義するArticle クラスがあります ( title
、updated
そしてcontent
今のところ重要なものです)。私の (QML) にデータを入力するために、いくつかの で満たされListView
た C++ があります。これが私のリストです:GroupDataModel
Article*
onTriggered
onTriggered: {
if (indexPath.length > 1) {
currentArticle = dataModel.data(indexPath);
var page = articlePageDefinition.createObject();
nav.push(page)
}
}
ご想像のとおり、articlePageDefinition
は uppercurrentArticle
プロパティを使用してページを定義します。
これで、articlePage を 1 回表示すると、問題なく動作します。戻って同じリスト項目をクリックすると、同じArticle
詳細が表示され、うまく機能します。しかし、2 つ目の記事を選択すると、アプリがフリーズします。ナビゲーション ウィンドウに戻ることはできますが、リスト アイテムをクリックすることはできなくなりました。いくつかのログを追加しようとしましたが、onTriggered
でスタックしていcurrentArticle = dataModel.data(indexPath);
ます。この時点で、すべてのプロパティをdataModel.data(indexPath)
問題なくログに記録できます。ページを作成/プッシュせず、単にcurrentArticle
そのプロパティの一部に影響を与えて表示しようとしましたが、それも正常に機能しています。ここで何が間違っているのか本当にわかりません。助けていただければ幸いです。
さらにコードが必要な場合は、すべてここにあります: https://github.com/Kernald/tt-rss-bb10/tree/e29e3b616aa179dd42f66804ecc20a6a45b6bb22