PageIndicator QML Type | Qt Quick Controls 6.7.1
Description: Indicates the currently active page.

- Qt 6.7
- Qt Quick Controls
- QML Types
- PageIndicator
- Qt 6.7.1 Reference Documentation

# PageIndicator QML Type

Indicates the currently active page. More...

Import Statement: | import QtQuick.Controls
Inherits: | Control

- List of all members, including inherited members

## Properties

- count : int
- currentIndex : int
- delegate : Component
- interactive : bool

## Detailed Description

PageIndicator is used to indicate the currently active page in a container of multiple pages. PageIndicator consists of delegate items that present pages.

     Column {
         StackLayout {
             id: stackLayout

             Page {
                 // ...
             }
             Page {
                 // ...
             }
             Page {
                 // ...
             }
         }

         PageIndicator {
             currentIndex: stackLayout.currentIndex
             count: stackLayout.count
         }
     }

See also SwipeView, Customizing PageIndicator, and Indicator Controls.

## Property Documentation

count : int

This property holds the number of pages.

currentIndex : int

This property holds the index of the current page.

delegate : Component

This property holds a delegate that presents a page.

The following properties are available in the context of each delegate:

index : int | The index of the item
pressed : bool | Whether the item is pressed

interactive : bool

This property holds whether the control is interactive. An interactive page indicator reacts to presses and automatically changes the current index appropriately.

     SwipeView {
         id: view
         currentIndex: pageIndicator.currentIndex
         anchors.fill: parent

         Page {
             title: qsTr("Home")
         }
         Page {
             title: qsTr("Discover")
         }
         Page {
             title: qsTr("Activity")
         }
     }

     PageIndicator {
         id: pageIndicator
         interactive: true
         count: view.count
         currentIndex: view.currentIndex

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

Note: Page indicators are typically quite small (in order to avoid distracting the user from the actual content of the user interface). They can be hard to click, and might not be easily recognized as interactive by the user. For these reasons, they are best used to complement primary methods of navigation (such as SwipeView), not replace them.

The default value is `false`.