このページでは

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 はスクロールできません。
  • 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 が「飛び回る」ことがあります。このため、デリゲートのサイズは等しくすることを推奨します。詳しくはVariable Delegate Size and Section Labels を参照。

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

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

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.