SwipeView QML Type
ユーザーが横方向にスワイプしてページ間を移動できるようにします。詳細...
| Import Statement: | import QtQuick.Controls |
| Inherits: |
プロパティ
- 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))
関連するプロパティ
- index : int
- isCurrentItem : bool
- isNextItem : bool
(since QtQuick.Controls 2.1 (Qt 5.8)) - isPreviousItem : bool
(since QtQuick.Controls 2.1 (Qt 5.8)) - view : SwipeView
詳細説明
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には通常、ビューの子要素としてインラインで定義された静的なページセットが設定されます。また、実行時にadd 、insert 、move 、およびremove ページを動的に読み込むことも可能です。
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 の割り当てはビューによって上書きされます。これは項目のルートにのみ適用される点に注意してください。子要素に対して幅や高さを指定したり、アンカーを使用したりする場合は、期待どおりに動作します。
関連項目: TabBar 、PageIndicator 、SwipeViewのカスタマイズ、ナビゲーションコントロール、コンテナコントロール、および Qt Quick コントロールのフォーカス管理。
プロパティのドキュメント
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.Horizontal | 水平(デフォルト) |
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」も参照してください 。
添付プロパティのドキュメント
SwipeView.index : int [read-only attached]
この添付プロパティには、SwipeView 内の各子項目のインデックスが格納されています。
これは、SwipeView の各子アイテムに紐付けられています。
SwipeView.isCurrentItem : bool [read-only attached]
この子要素が現在の項目である場合、この付随プロパティは `true ` となります。
これは、SwipeView の各子アイテムに紐付けられています。
SwipeView.isNextItem : bool [read-only attached, since QtQuick.Controls 2.1 (Qt 5.8)]
この子要素が次の項目である場合、この付随プロパティは `true ` となります。
これは、SwipeView の各子アイテムに紐付けられています。
このプロパティは、QtQuick.Controls 2.1 (Qt 5.8) で導入されました。
SwipeView.isPreviousItem : bool [read-only attached, since QtQuick.Controls 2.1 (Qt 5.8)]
この子要素が前の項目である場合、この付随プロパティは `true ` となります。
これは、SwipeView の各子アイテムに紐付けられています。
このプロパティは、QtQuick.Controls 2.1 (Qt 5.8) で導入されました。
SwipeView.view : SwipeView [read-only attached]
この添付プロパティには、この子アイテムを管理するビューが格納されています。
これは、SwipeView の各子アイテムに紐付けられています。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.