1

我正在设计 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 }
            }
4

1 回答 1

3

在这里查看教程。他们给出了具有不同形状路径视图的示例。

于 2012-11-27T05:25:49.820 回答