이 페이지에서

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에는 일련의 페이지가 채워집니다. 한 번에 하나의 페이지만 표시됩니다. 사용자는 옆으로 스와이프하여 페이지 간을 이동할 수 있습니다. 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, Qt Quick Controls 의 ‘SwipeView 사용자 정의’, ‘네비게이션 컨트롤’, ‘컨테이너 컨트롤’ 및 ‘포커스 관리’.

속성 설명서

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.