Auf dieser Seite

TabBar QML Type

Ermöglicht es dem Benutzer, zwischen verschiedenen Ansichten oder Teilaufgaben zu wechseln. Mehr...

Import Statement: import QtQuick.Controls
Inherits:

Container

Eigenschaften

Zugehörige Eigenschaften

  • index : int (since QtQuick.Controls 2.3 (Qt 5.10))
  • position : enumeration (since QtQuick.Controls 2.3 (Qt 5.10))
  • tabBar : TabBar (since QtQuick.Controls 2.3 (Qt 5.10))

Ausführliche Beschreibung

TabBar bietet ein tabbasiertes Navigationsmodell.

Drahtmodell einer Registerkartenleiste mit Registerkartennavigation

TabBar wird mit „ TabButton “-Steuerelementen bestückt und kann zusammen mit jedem Layout oder Container-Steuerelement verwendet werden, das die Eigenschaft „ currentIndex “ bereitstellt, wie beispielsweise „ StackLayout “ oder SwipeView

TabBar {
    id: bar
    width: parent.width
    TabButton {
        text: qsTr("Home")
    }
    TabButton {
        text: qsTr("Discover")
    }
    TabButton {
        text: qsTr("Activity")
    }
}

StackLayout {
    width: parent.width
    currentIndex: bar.currentIndex
    Item {
        id: homeTab
    }
    Item {
        id: discoverTab
    }
    Item {
        id: activityTab
    }
}

Wie oben gezeigt, wird die TabBar in der Regel mit einem statischen Satz von Registerkarten-Schaltflächen bestückt, die inline als untergeordnete Elemente der Registerkartenleiste definiert sind. Es ist auch möglich, Elemente wie „ add “, „ insert “, „ move “ und „ remove “ zur Laufzeit dynamisch hinzuzufügen. Der Zugriff auf die Elemente erfolgt über „ itemAt()“ oder „ contentChildren “.

Wenn „TabBar“ mit einem anderen Container wie „ SwipeView “ gekoppelt ist, muss eine bidirektionale Bindung zwischen den „ currentIndex “-Eigenschaften der einzelnen Steuerelemente hergestellt werden. Um dies zu erreichen, ohne Bindungen zu unterbrechen, sollten Sie es vermeiden, „ currentIndex “ direkt zu setzen, und stattdessen beispielsweise „ setCurrentIndex()“ verwenden. Weitere Informationen finden Sie unter „ Managing the Current Index “.

Um eine Aktion auszuführen, wenn sich „ currentIndex “ ändert, verwenden Sie den Signal-Handler für die Änderung der Eigenschaft „ onCurrentIndexChanged “:

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

Anpassen der Größe von Registerkarten

Standardmäßig passt „TabBar“ die Größe ihrer Schaltflächen an die Breite des Steuerelements an. Der verfügbare Platz wird gleichmäßig auf alle Schaltflächen verteilt. Das Standardverhalten bei der Größenanpassung kann überschrieben werden, indem eine explizite Breite für die Schaltflächen festgelegt wird.

Das folgende Beispiel veranschaulicht, wie jede Registerkarte ihre implizite Größe beibehält, anstatt an die Größe der Registerkartenleiste angepasst zu werden:

Registerkartenleiste mit den Registerkarten „Erste“, „Zweite“ und „Dritte“ mit impliziten Breiten

TabBar {
    width: parent.width
    TabButton {
        text: "First"
        width: implicitWidth
    }
    TabButton {
        text: "Second"
        width: implicitWidth
    }
    TabButton {
        text: "Third"
        width: implicitWidth
    }
}

Wischbare Registerkarten

Wenn die Gesamtbreite der Schaltflächen die verfügbare Breite der Registerkartenleiste überschreitet, wird diese automatisch wischbar.

Die Tab-Leiste lässt sich wischen, um durch zahlreiche Tabs zu scrollen

TabBar {
    id: bar
    width: parent.width

    Repeater {
        model: ["First", "Second", "Third", "Fourth", "Fifth"]

        TabButton {
            text: modelData
            width: Math.max(100, bar.width / 5)
        }
    }
}

Siehe auch „ TabButton“ , „Anpassen der TabBar“, „Navigationssteuerelemente“, „Container-Steuerelemente“ und „Fokusverwaltung“ unter Qt Quick Controls.

Dokumentation zu den Eigenschaften

contentHeight : real [since QtQuick.Controls 2.2 (Qt 5.9)]

Diese Eigenschaft gibt die Höhe des Inhalts an. Sie wird zur Berechnung der impliziten Gesamthöhe der Registerleiste verwendet.

Hinweis: Diese Eigenschaft ist in „ TabBar “ seit „ QtQuick.Controls “ 2.2 (Qt 5.9) verfügbar, wurde jedoch in „ QtQuick.Controls “ 2.5 (Qt 5.12) in den Basistyp „Container“ übernommen.

Diese Eigenschaft wurde in QtQuick.Controls 2.2 (Qt 5.9) eingeführt.

Siehe auch „ Container::contentHeight “.

contentWidth : real [since QtQuick.Controls 2.2 (Qt 5.9)]

Diese Eigenschaft enthält die Breite des Inhalts. Sie wird zur Berechnung der impliziten Gesamtbreite der Registerkartenleiste verwendet.

Hinweis: Diese Eigenschaft ist in „ TabBar “ seit „ QtQuick.Controls “ 2.2 (Qt 5.9) verfügbar, wurde jedoch in „ QtQuick.Controls “ 2.5 (Qt 5.12) auf den Basistyp „Container“ angehoben.

Diese Eigenschaft wurde in QtQuick.Controls 2.2 (Qt 5.9) eingeführt.

Siehe auch Container::contentWidth.

position : enumeration

Diese Eigenschaft legt die Position der Registerkartenleiste fest.

Hinweis: Wenn die Registerleiste als Kopf- oder Fußzeile von „ ApplicationWindow “ oder „ Page “ zugewiesen ist, wird die entsprechende Position automatisch festgelegt.

Mögliche Werte:

KonstanteBeschreibung
TabBar.HeaderDie Registerleiste befindet sich oben als Kopfzeile des Fensters oder der Seite.
TabBar.FooterDie Registerleiste befindet sich unten als Fenster- oder Seitenfußzeile.

Der Standardwert ist stilabhängig.

Siehe auch „ ApplicationWindow::header“ , „ ApplicationWindow::footer “, „ Page::header “ und „ Page::footer “.

Dokumentation zu angehängten Eigenschaften

TabBar.index : int [read-only attached, since QtQuick.Controls 2.3 (Qt 5.10)]

Diese angehängte Eigenschaft enthält den Index der einzelnen Registerkarten im „ TabBar “.

Sie ist jeder Registerkarte des „ TabBar “ zugeordnet.

Diese Eigenschaft wurde in QtQuick.Controls 2.3 (Qt 5.10) eingeführt.

TabBar.position : enumeration [read-only attached, since QtQuick.Controls 2.3 (Qt 5.10)]

Diese Eigenschaft legt die Position der Registerkartenleiste fest.

Sie ist an jede Registerkarte des „ TabBar “ angehängt.

Mögliche Werte:

KonstanteBeschreibung
TabBar.HeaderDie Registerleiste befindet sich oben als Fenster- oder Seitenkopf.
TabBar.FooterDie Registerleiste befindet sich unten als Fenster- oder Seitenfußzeile.

Diese Eigenschaft wurde in QtQuick.Controls 2.3 (Qt 5.10) eingeführt.

TabBar.tabBar : TabBar [read-only attached, since QtQuick.Controls 2.3 (Qt 5.10)]

Diese angehängte Eigenschaft enthält die Registerkartenleiste, die diese Registerkarte verwaltet.

Sie ist an jede Registerkarte des „ TabBar “ angehängt.

Diese Eigenschaft wurde in QtQuick.Controls 2.3 (Qt 5.10) eingeführt.

© 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.