QML中的Pathview问题

时间:2012-11-26 10:32:53

标签: qt qml qt-quick

我正在设计Spinner控件(或者你可以Scollable列表的项目)。就功能而言,它的工作正常

主要问题是我想在滚动项目时创建圆周运动感觉。因此,为了在滚动列表中产生这种效果,我们决定使用前面的&尾随项目大小比当前项目

我真的很难获得不同尺寸的物品。任何人都可以建议我如何继续这样做。

以下是我的代码段

ContentModel.qml

import QtQuick 1.1

Rectangle {
    property alias model: view.model
    property alias delegate: view.delegate
    property real itemHeight: height/5

    clip: true

    PathView {
        id: view
        anchors.fill: parent
        //number of items visible on the path at any one time.
        pathItemCount: height/itemHeight
        // Ensuring the selected componenet to be at the center
        preferredHighlightBegin: 0.5
        preferredHighlightEnd: 0.5

        // select maximum distance from the path that initiate mouse dragging
        dragMargin: view.width


        //Declare the path of list
        path: Path {
            startX: view.width/2; startY: -itemHeight/2
            PathLine { x: view.width/2; y: view.pathItemCount*itemHeight + itemHeight/.8}
        }
    }
}

main.qml代码段

main.qml

.......
ContentModel{
      id: ContentModel_spinner
      width: ContentModel_scroll.width; height: ContentModel_scroll.height
      focus: true
      model: 20
      delegate: Text { font.pixelSize: index === ContentModel_spinner.currentIndex  ?  sec_spinner.height/4 : ContentModel_spinner.height/4.5; text: formatindex(index); height: ContentModel_scroll.height }
            }

1 个答案:

答案 0 :(得分:3)

查看教程here。他们举例说明了不同形状的路径视图。