如何知道列表项在QML列表视图中成功添加?

时间:2017-01-10 13:16:32

标签: qt qml

我使用委托创建了一个按钮列表。

ListView
 {
   id: list
   width: 180; height: 200
   delegate: Button
     {
         width: 180; height: 40
         //assigning few properties
     }
}

从我的.cpp清除列表并再次添加项目。 是否有任何信号可以在每次刷新列表时检查,并且所有项目都已成功添加?

2 个答案:

答案 0 :(得分:1)

实施适当的QAbstractListModel,其中包含添加和删除列表项的通知。因此,更改将以最有效的方式自动反映。

听起来你使用普通QList曝光作为模型,这是非常错误的,特别是当你有一个动态和不断变化的模型时。您仍然可以通过将列表公开为带有Q_PROPERTY信号的NOTIFY来强制更新,但这将非常低效,因为它会导致为每次更改重新创建所有代理,而不是有效地反映更改仅

答案 1 :(得分:-1)

您可以为按钮添加处理程序

Component.onCompleted: console.log("button is created")

确保正在构建按钮