我对列表/详细信息模式有疑问。我有一个 Article 类,继承自QObject
,定义了一些属性(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 一次时,它工作正常。我可以返回,单击相同的列表项,显示相同的Article
详细信息,效果很好。但是当我选择第二篇文章时,该应用程序就冻结了。我可以返回导航窗格,但不能再单击列表项。我试图添加一些日志,onTriggered
卡在currentArticle = dataModel.data(indexPath);
. 此时,我可以dataModel.data(indexPath)
毫无问题地记录每个属性。我试图不创建/推送页面,只是影响currentArticle
和显示它的一些属性,它也可以正常工作。我真的不明白我在这里做错了什么,任何帮助表示赞赏。
如果您需要查看更多代码,一切都在这里:https ://github.com/Kernald/tt-rss-bb10/tree/e29e3b616aa179dd42f66804ecc20a6a45b6bb22