我目前面临一个奇怪的问题:我在列表视图中显示图像。作为一个很好的额外的事情,我想显示图像的exif数据也。 因此,我使用可翻转组件提出了以下结构:
Component{
id: flippableDelegate{
Flipable{
property bool flipped: false
front: Images{}
back: ExifData{}
}
}
ListView{
delegate: flippableDelegate
}
所以一切正常:我可以滚动浏览我的图片并通过点击它们来翻转它们。
但奇怪的是: 我翻转一个图像(例如索引= 3)并且当图像3仍然翻转时我轻弹到下一个图像。当点击返回图像3时,它不再翻转。 我想这很清楚,因为boolean flipped始终设置为false。 我喜欢这个功能!
但它不适用于第一张图像(索引0)。为什么呢?
答案 0 :(得分:5)
当弹出视图时,代理会被解除,因为它们在被弹回视图时被销毁并重新创建。
第一个项目是currentIndex
,并且在视图外部轻弹时不会被销毁,因为currentItem
不得销毁。
如果您对使用currentIndex / currentItem不感兴趣,那么您只需设置currentIndex: -1
即可按您的意愿使用。
作为警告:QtQuick 2.0可能无法在被忽略视图时销毁代理,因为它默认为非cacheBuffer
。