TabBar QML Type

ユーザーが異なるビューやサブタスクを切り替えられるようにします。詳細...

Import Statement: import QtQuick.Controls
Inherits:

Container

プロパティ

付属プロパティ

  • 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))

詳細説明

TabBar は、タブベースのナビゲーション・モデルを提供します。

TabBar にはTabButton コントロールが配置され、StackLayoutcurrentIndex などの - プロパティを提供するレイアウトまたはコンテナコントロールと一緒に使用できます。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
    }
}

上に示したように、TabBarには通常、タブ・バーの子としてインラインで定義される静的なタブ・ボタンが配置されます。また、addinsertmoveremove の項目を実行時に動的に設定することも可能です。これらのアイテムには、itemAt() またはcontentChildren を使用してアクセスできます。

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

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

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

タブのサイズ変更

デフォルトでは、TabBarはコントロールの幅に合わせてボタンのサイズを変更します。利用可能なスペースは、各ボタンに均等に配分されます。ボタンの幅を明示的に設定することで、デフォルトのリサイズ動作をオーバーライドすることができます。

次の例では、タブバーのサイズに合わせてリサイズする代わりに、各タブ・ボタンを暗黙のサイズに保つ方法を示します:

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

フリック可能なタブ

ボタンの幅の合計がタブバーの利用可能な幅を超えると、自動的にフリック可能になります。

TabBar {
    id: bar
    width: parent.width

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

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

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

プロパティ ドキュメント

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

このプロパティは、コンテンツの高さを保持します。このプロパティは、タブバーの暗黙的な高さの合計を計算するために使用されます。

注: このプロパティは、QtQuick.Controls 2.2(Qt 5.9)以降、TabBar で使用できますが、QtQuick.Controls 2.5(Qt 5.12)で Container 基本型に昇格しました。

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

Container::contentHeightも参照してください


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

このプロパティは、コンテンツの幅を保持します。このプロパティは、タブバーの暗黙的な幅の合計を計算するために使用されます。

注: このプロパティは、QtQuick.Controls 2.2 (Qt 5.9) 以降TabBar で使用できますが、QtQuick.Controls 2.5 (Qt 5.12) で Container 基本型に昇格しました。

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

Container::contentWidthも参照してください


position : enumeration

このプロパティは、タブバーの位置を保持します。

注: タブバーがApplicationWindow またはPage のヘッダーまたはフッターとして割り当てられている場合、適切な位置が自動的に設定されます。

可能な値:

定数説明
TabBar.Headerタブバーはウィンドウまたはページのヘッダーとして一番上にあります。
TabBar.Footerタブバーは、ウィンドウまたはページのフッターとして、一番下にあります。

デフォルト値はスタイル固有です。

ApplicationWindow::header,ApplicationWindow::footer,Page::header, およびPage::footerも参照してください


付属プロパティ文書

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

この Attached プロパティは、TabBar の各タブボタンのインデックスを保持します。

このプロパティは、TabBar の各タブボタンにアタッチされます。

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


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

このアタッチされたプロパティは、タブバーの位置を保持します。

このプロパティは、TabBar の各タブボタンにアタッチされます。

可能な値

定数説明
TabBar.Headerタブバーはウィンドウまたはページのヘッダーとして上部にあります。
TabBar.Footerタブバーは、ウィンドウまたはページのフッターとして、一番下にあります。

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


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

このアタッチされたプロパティは、このタブボタンを管理するタブバーを保持します。

このプロパティは、TabBar の各タブボタンにアタッチされます。

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


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