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
}

ScrollBarScrollIndicator 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参照して ください。


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