2

我目前面临一个奇怪的问题:我在列表视图中显示图像。作为一个很好的附加功能,我还想显示图像的 exif 数据。因此,我使用可翻转组件提出了以下结构:

Component{
   id: flippableDelegate{
   Flipable{
       property bool flipped: false
       front: Images{}
       back: ExifData{}
   }
 }
 ListView{
    delegate: flippableDelegate
 }

所以一切正常:我可以滚动浏览我的图像并通过单击它们来翻转它们。

尽管如此,奇怪的是:我翻转了一个图像(例如索引= 3),然后在图像3仍然翻转时我轻弹到下一个。当轻弹回图像 3 时,它不再翻转。我想这很清楚,因为翻转的布尔值一直设置为 false。我很喜欢这个功能!

但它不适用于第一张图像(索引 0)。为什么?

4

1 回答 1

5

代表在从视图中弹开时不会翻转,因为它们在弹回视图时被销毁并重新创建。

第一项是currentIndex并且当它在视图外轻弹时不会被破坏,因为currentItem不能被破坏。

如果您对使用 currentIndex/currentItem 不感兴趣,那么您可以简单地进行设置currentIndex: -1,它应该可以按照您的意愿工作。

作为一个警告:QtQuick 2.0 可能不会在代理被弹出视图时破坏它们,因为它cacheBuffer默认具有非零值。

于 2013-05-08T11:24:13.647 回答