ListView qt上的鼠标区域快速

时间:2014-02-13 07:12:26

标签: listview qml gesture

我必须在左右滑动时有一个手势才能,但我还需要显示一个列表视图,但是我一看就能看到左右滑动的能力。你会如何处理这个问题?

这是我程序中的一个小代码片段。

CustomGestureArea{

     onSwipeRight:{
        // do something
     }
     onSwipeLeft:{
        // do something
     }
     // as soon as i put this in i loose the swipe functionality
     ListView{
          anchors.fill:parent
     }

}

我正在考虑制作另一个包含列表视图的自定义手势类,我会为模型设置属性别名,列表视图的其他所需信息正常工作,但在向上和向下滑动时会滚动列表(正如人们所期望的那样,具有正常的列表视图功能)。但我不知道如何开始。我的想法是这个列表。

GestureAreaListView{

     property alias list_model:list.model
     // and all other needed properties etc
     onSwipeRight:{
        // do my custom function
     }
     onSwipeLeft:{
        // do my custom function
     }
     onSwipeUp:{
        // do List view scroll up
     }
     onSwipeDown:{
        // do List view scroll down
     }
     // as soon as i put this in i loose the swipe functionality
     ListView{
          anchors.fill:parent
     }
     ListView{
          id: list
     }
}

1 个答案:

答案 0 :(得分:1)

通过这样做,您的ListView位于CustomGestureArea之上,因此它需要事件。

您可以强制zOrder将其置于最顶层。

但你应该试着简单地反驳谁是谁:

ListView{

    CustomGestureArea{
        anchors.fill:parent
        onSwipeRight:{ // do something 
        }
        onSwipeLeft:{ // do something
        }
    }
}