SwipeView QML Type

横スワイプによるページ移動を可能にする。もっと見る...

Import Statement: import QtQuick.Controls
Inherits:

Container

プロパティ

  • horizontal : bool (since QtQuick.Controls 2.3 (Qt 5.10))
  • interactive : bool (since QtQuick.Controls 2.1 (Qt 5.8))
  • orientation : enumeration (since QtQuick.Controls 2.2 (Qt 5.9))
  • vertical : bool (since QtQuick.Controls 2.3 (Qt 5.10))

付属プロパティ

詳細説明

SwipeViewはスワイプベースのナビゲーションモデルを提供します。

SwipeViewは、ページのセットで入力されます。一度に1つのページが表示されます。ユーザーは横にスワイプすることでページ間を移動することができます。SwipeView自体は完全に非ビジュアルであることに注意してください。ユーザーに複数のページがあることを視覚的に示すために、PageIndicator と組み合わせることをお勧めします。

SwipeView {
    id: view

    currentIndex: 1
    anchors.fill: parent

    Item {
        id: firstPage
    }
    Item {
        id: secondPage
    }
    Item {
        id: thirdPage
    }
}

PageIndicator {
    id: indicator

    count: view.count
    currentIndex: view.currentIndex

    anchors.bottom: view.bottom
    anchors.horizontalCenter: parent.horizontalCenter
}

上に示したように、SwipeViewは通常、ビューの子としてインラインで定義された静的なページ・セットで構成されます。また、実行時に動的にaddinsertmoveremove

SwipeViewがTabBar のような他のコンテナと対になっている場合、各コントロールのcurrentIndex プロパティ間で双方向バインディングを行う必要があります。バインディングを壊さずにこれを行うには、currentIndex を直接設定することを避け、代わりにsetCurrentIndex() などを使用します。詳しくはManaging the Current Index を参照してください。

currentIndex が変更されたときにアクションを実行するには、onCurrentIndexChanged プロパティ変更シグナル・ハンドラを使用します:

onCurrentIndexChanged: {
    print("currentIndex changed to", currentIndex)
    // ...
}

一般的に、SwipeViewに過剰な量のページを追加することはお勧めしません。しかし、ページの量が多くなったり、個々のページが比較的複雑になったりすると、ユーザーの手の届かないページをアンロードしてリソースを解放することが望ましい場合があります。次の例では、Loader 、最大3つのページを同時にインスタンス化する方法を紹介します。

SwipeView {
    Repeater {
        model: 6
        Loader {
            active: SwipeView.isCurrentItem || SwipeView.isNextItem || SwipeView.isPreviousItem
            sourceComponent: Text {
                text: index
                Component.onCompleted: console.log("created:", index)
                Component.onDestruction: console.log("destroyed:", index)
            }
        }
    }
}

注: SwipeViewは、ビューに追加されたアイテムのジオメトリ管理を引き継ぎます。アイテムにアンカーを使用することはサポートされておらず、width またはheight の割り当てはビューによって上書きされます。これはアイテムのルートにのみ適用されます。幅と高さを指定したり、子アイテムにアンカーを使用したりすると、期待通りに動作します。

Qt Quick ControlsのTabBarPageIndicatorSwipeViewのカスタマイズナビゲーションコントロールコンテナコントロールフォーカス管理も参照してください

プロパティ ドキュメント

horizontal : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]

このプロパティは、スワイプビューが水平かどうかを保持します。

このプロパティは、QtQuick.Controls 2.3(Qt 5.10)で導入されました。

orientationも参照してください


interactive : bool [since QtQuick.Controls 2.1 (Qt 5.8)]

このプロパティは、ユーザーがSwipeView と対話できるかどうかを記述します。 ユーザーは、対話できないビューをスワイプすることはできません。

デフォルト値はtrue です。

このプロパティは、QtQuick.Controls 2.1(Qt 5.8)で導入されました。


orientation : enumeration [since QtQuick.Controls 2.2 (Qt 5.9)]

このプロパティは、方向を保持します。

可能な値:

定数説明
Qt.HorizontalHorizontal (デフォルト)
Qt.Vertical垂直

このプロパティは QtQuick.Controls 2.2 (Qt 5.9) で導入されました。

horizontal およびverticalも参照してください


vertical : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]

このプロパティは、スワイプビューが垂直かどうかを保持します。

このプロパティは QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

orientationも参照して ください。


Attached Property ドキュメント

SwipeView.index : int [read-only]

この Attached プロパティは、SwipeView 内の各子アイテムのインデックスを保持します。

このプロパティは、SwipeView の各子アイテムにアタッチされます。


SwipeView.isCurrentItem : bool [read-only]

この子項目が現在の項目の場合、この Attached プロパティはtrue になります。

このプロパティは、SwipeView の各子項目に添付されます。


SwipeView.isNextItem : bool [read-only, since QtQuick.Controls 2.1 (Qt 5.8)]

この子が次の項目の場合、この付属プロパティはtrue です。

このプロパティは、SwipeView の各子アイテムにアタッチされます。

このプロパティは QtQuick.Controls 2.1 (Qt 5.8) で導入されました。


SwipeView.isPreviousItem : bool [read-only, since QtQuick.Controls 2.1 (Qt 5.8)]

この子が前の項目である場合、この attached プロパティはtrue です。

SwipeView の各子アイテムにアタッチされます。

このプロパティは、QtQuick.Controls 2.1 (Qt 5.8)で導入されました。


SwipeView.view : SwipeView [read-only]

この attached プロパティは、この子項目を管理するビューを保持します。

このプロパティは、SwipeView の各子アイテムにアタッチされます。


本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。