このページでは

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つのアイテムのみを使用する場合、コンテンツサイズは、そのアイテムの暗黙的なサイズに基づいて自動的に計算されます。ただし、複数のアイテムを使用する場合(または暗黙的なサイズが指定されていない場合)、contentWidth およびcontentHeight プロパティを、含まれるアイテムの合計サイズに設定する必要があります。
  • コンテンツのサイズがScrollViewのサイズ以下である場合、スクロールは行われません。
  • ScrollView を垂直方向にのみスクロールさせたい場合は、contentWidth をavailableWidth にバインドします(contentHeight についてはその逆)。これにより、パディングやスクロールバーを考慮した上で、コンテンツが ScrollView 内の利用可能な水平方向のスペース全体を埋めるようになります。

スクロールバー

水平および垂直のスクロールバーには、ScrollBar.horizontal およびScrollBar.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 が「飛び回る」原因となる可能性があります。このため、デリゲートのサイズを均一に保つことをお勧めします。詳細については、Variable Delegate Size and Section Labels を参照してください。

関連項目: ScrollBar 、ScrollIndicator 、 Qt Quick コントロールにおける スクロールビュー、コンテナ コントロール、およびフォーカス管理の カスタマイズ。

プロパティのドキュメント

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

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