bugfix> qt > 投稿

QMLで円形SwipeViewを作成するにはどうすればよいですか? 意味最後の要素であれば、次のアイテムが最初のアイテムになります。

SwipeView {       id:ビュー       間隔:20       currentIndex:0       クリップ:true       anchors.fill:親      }

または、異なるアイテムを含むことができるタンブラーを使用できますか?

私はこのコードを使用しています

   PathView {
    id: view
    anchors.fill: parent
    snapMode:PathView.NoSnap
    property int widthAllList: (widthItemNotSelect*3)+60
    property int widthItemNotSelect: parent.width-13
    anchors.horizontalCenter: parent.horizontalCenter
    preferredHighlightBegin: 0.5
    preferredHighlightEnd: 0.5
    model: ["qrc:/QML/Widget/AnalogClock.qml",
        "qrc:/QML/Widget/Clock.qml"
        ,"qrc:/QML/Widget/Widget.qml"]
    delegate: Loader {
        width: parent.width
        height: parent.height
        source: modelData
    }
    path: Path {
        id:myPath
        startX: 0
        startY: parent.height/2
        PathLine { x:view.widthAllList; y:parent.height/2 }
    }
 }

回答 1 件
  • PathViewを使用した簡単な例:

    PathView {
        id: view
        anchors.fill: parent
        snapMode: PathView.SnapToItem
        model: ["Test1.qml","Test2.qml","Test3.qml"]
        delegate: Loader {
            width: parent.width
            height: parent.height
            source: modelData           
        }
        path: Path {
            startX: view.width/2; startY: view.height/2
            PathQuad { x: view.width/2; y: -view.height*view.model.length; controlX: -view.width; controlY: view.height/2 }
            PathQuad { x: view.width/2; y: view.height/2; controlX: view.width * view.model.length; controlY: view.height/2 }
        }
    }
    
    

    上記の例のパスは、あくまでも例であり、必要に応じて変更できます。

    アイテムの例-Test1.qml:

    import QtQuick 2.9
    Rectangle{
        color: "green"
        width: parent.width
        height: parent.height
        Text {
            anchors.centerIn: parent
            text: "page " + index
        }
    }
    
    

    Tumbler を使用して同じトリックを行うことができます 、 私は推測する。

あなたの答え