ScrollView QML Type

スクロール可能なビュー。もっと見る...

Import Statement: import QtQuick.Controls
Inherits:

Pane

プロパティ

詳細説明

ScrollView は、ユーザー定義のコンテンツのスクロールを提供します。これは、Flickable を置き換えたり、既存のものを装飾したりするために使用できます。

最初の例では、ScrollViewの最も単純な使用方法を示します。

ScrollView {
    width: 200
    height: 200

    Label {
        text: "ABC"
        font.pixelSize: 224
    }
}

2つ目の例では、既存のFlickable 、つまりListView を使用しています。

ScrollView {
    width: 200
    height: 200

    ListView {
        model: 20
        delegate: ItemDelegate {
            text: "Item " + index

            required property int index
        }
    }
}

注意: Qt-6.0では、Flickableを子として使用しない場合、ScrollViewは自動的にコンテンツをクリップします。これを望まない場合は、独自のFlickableを子として設定し、Flickableのclip プロパティを明示的に制御することができます。

サイズ

Flickableと同様に、ScrollViewを使用する際にはいくつかの注意点があります:

  • ScrollView 内で使用されるアイテムが 1 つだけの場合、コンテンツのサイズは含まれるアイテムの暗黙のサイズに基づいて自動的に計算されます。ただし、複数のアイテムが使用される場合(または暗黙的なサイズが提供されない場合)、contentWidthcontentHeight プロパティには、含まれるアイテムの合計サイズを設定する必要があります。
  • コンテンツのサイズが ScrollView のサイズ以下の場合、スクロールできません。
  • ScrollView を垂直方向にのみスクロールさせたい場合は、contentWidthavailableWidth にバインドします(contentHeight はその逆)。これにより、パディングやスクロールバーを考慮した上で、コンテンツがScrollView内の水平方向の利用可能なスペースをすべて埋めるようになります。

スクロールバー

水平および垂直スクロールバーには、ScrollBar.horizontalScrollBar.vertical のプロパティを使用してアクセスし、カスタマイズすることができます。次の例では、水平スクロールバーが常にオフで、垂直スクロールバーが常にオンになるように、スクロールバーのポリシーを調整しています。

ScrollView {
    // ...
    ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
    ScrollBar.vertical.policy: ScrollBar.AlwaysOn
}

タッチ操作とマウス操作の比較

タッチ操作では、ScrollView はフリックを有効にし、スクロールバーを非対話型にします。

マウスデバイスで操作する場合、フリックは無効になり、スクロールバーはインタラクティブになります。

スクロールバーは、interactive プロパティを明示的にそれぞれtrue またはfalse に設定することで、タッチ時にインタラクティブにしたり、マウスデバイスとのインタラクション時に非インタラクティブにしたりすることができます。

ScrollView {
    // ...
    ScrollBar.horizontal.interactive: true
    ScrollBar.vertical.interactive: true
}

ScrollBar,ScrollIndicator,Qt Quick Controls の ScrollViewコンテナコントロール、およびフォーカス管理の カスタマイズも参照してください

プロパティ Documentation

contentChildren : list<Item>

このプロパティは、コンテンツの子のリストを保持します。

このリストには、ビューの子として QML で宣言されたすべての項目が含まれます。

注: contentData とは異なり、contentChildren には、視覚的でない QML オブジェクトは含まれません。

Item::children およびcontentDataも参照


contentData : list<QtObject> [default]

このプロパティは、コンテンツデータのリストを保持します。

このリストには、ビューの子として QML で宣言された全てのオブジェクトが含まれます。

注: contentChildren と異なり、contentData は非ビジュアル QML オブジェクトを含みます。

Item::data およびcontentChildrenも参照して ください。


effectiveScrollBarHeight : real [since 6.6]

このプロパティは、水平スクロールバーの有効な高さを保持します。スクロールバーポリシーがQQuickScrollBar::AlwaysOff である場合、またはスクロールバーが表示されていない場合、このプロパティは0 になります。

このプロパティは Qt 6.6 で導入されました。

ScrollBar::policyも参照してください


effectiveScrollBarWidth : real [since 6.6]

このプロパティは、垂直スクロールバーの有効幅を保持します。スクロールバーポリシーがQQuickScrollBar::AlwaysOff であるか、スクロールバーが表示されていない場合、このプロパティは0 になります。

このプロパティは Qt 6.6 で導入されました。

ScrollBar::policyも参照してください


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