このページでは

LinearGradient QML Type

線形グラデーションを描画します。詳細...

Import Statement: import Qt5Compat.GraphicalEffects
Since: QtGraphicalEffects 1.0
Inherits:

Item

プロパティ

詳細な説明

グラデーションとは、2色以上の色がシームレスに混ざり合うことで定義されます。色は指定された開始点から始まり、指定された終了点で終わります。

適用された効果

白から黒への線形グラデーション

{白から黒への線形グラデーション}

例

以下の例は、この効果の適用方法を示しています。

import QtQuick
import Qt5Compat.GraphicalEffects

Item {
    width: 300
    height: 300

    LinearGradient {
        anchors.fill: parent
        start: Qt.point(0, 0)
        end: Qt.point(0, 300)
        gradient: Gradient {
            GradientStop { position: 0.0; color: "white" }
            GradientStop { position: 1.0; color: "black" }
        }
    }
}

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

cached : bool

このプロパティを使用すると、エフェクトの出力ピクセルをキャッシュして、レンダリング性能を向上させることができます。

ソースまたはエフェクトのプロパティが変更されるたびに、キャッシュ内のピクセルを更新する必要があります。エフェクトの出力を保存するために追加のメモリバッファが必要となるため、メモリ消費量が増加します。

ソースやエフェクトのプロパティがアニメーション化される場合は、キャッシュを無効にすることをお勧めします。

デフォルトでは、このプロパティは「false 」に設定されています。

end : variant

このプロパティは、グラデーションの位置 1.0 における色が描画される終点を定義します。 位置値が小さい場所の色は、開始点に向かって線形にレンダリングされます。位置はピクセル単位で指定され、デフォルト値は Qt.point(0, height) です。start と end のデフォルト値を設定すると、y 軸上で全高にわたる線形グラデーションが生成されます。

さまざまな end 値を用いた出力例

右下に終わるグラデーション

中心で終わるグラデーション

右上で終わるグラデーション

end: Qt.point(300, 300) end: Qt.point(150, 150) end: Qt.point(300, 0)
start: Qt.point(0, 0)start: Qt.point(0, 0)start: Qt.point(0, 0)

gradient : Gradient

グラデーションとは、2色以上の色がシームレスに混ざり合うことで定義されるものです。色は、GradientStop の子要素のセットとして指定され、各要素はグラデーション上の位置(0.0~1.0)と色を定義します。各GradientStop の位置はpositionプロパティで定義され、色はcolorプロパティで定義されます。

異なるグラデーション値を用いた出力例

虹色の線形グラデーション

灰色の直線グラデーション

透明から黒へのグラデーション

gradient:
Gradient {
  GradientStop {
     position: 0.000
     color: Qt.rgba(1, 0, 0, 1)
  }
  GradientStop {
     position: 0.167
     color: Qt.rgba(1, 1, 0, 1)
  }
  GradientStop {
     position: 0.333
     color: Qt.rgba(0, 1, 0, 1)
  }
  GradientStop {
     position: 0.500
     color: Qt.rgba(0, 1, 1, 1)
  }
  GradientStop {
     position: 0.667
     color: Qt.rgba(0, 0, 1, 1)
  }
  GradientStop {
     position: 0.833
     color: Qt.rgba(1, 0, 1, 1)
  }
  GradientStop {
     position: 1.000
     color: Qt.rgba(1, 0, 0, 1)
  }
}
gradient:
Gradient {
  GradientStop {
    position: 0.0
    color: "#F0F0F0"
  }
  GradientStop {
    position: 0.5
    color: "#000000"
  }
  GradientStop {
    position: 1.0
    color: "#F0F0F0"
  }
}
gradient:
Gradient {
  GradientStop {
    position: 0.0
    color: "#00000000"
  }
  GradientStop {
    position: 1.0
    color: "#FF000000"
  }
}
start: Qt.point(0, 0)start: Qt.point(0, 0)start: Qt.point(0, 0)
end: Qt.point(300, 300)end: Qt.point(300, 300)end: Qt.point(300, 300)

source : variant

このプロパティは、グラデーションで塗りつぶされる項目を定義します。ソース項目は中間ピクセルバッファにレンダリングされ、その結果から得られるアルファ値を用いて、表示上のグラデーションのピクセルの可視性が決定されます。ソースのデフォルト値は未定義であり、その場合はエフェクト領域全体がグラデーションで塗りつぶされます。

さまざまな source 値による出力例

領域全体をグラデーションで塗りつぶす

蝶の形によってマスクされたグラデーション

source: undefined source: Image { source: images/butterfly.png }
start: Qt.point(0, 0)start: Qt.point(0, 0)
end: Qt.point(300, 300)end: Qt.point(300, 300)

注: エフェクトをその親に設定するなどして、エフェクト自体をソースに含めることはサポートされていません。

start : variant

このプロパティは、グラデーションの位置 0.0 における色が描画される開始点を定義します。 位置値が大きい箇所の色は、終点に向かって線形にレンダリングされます。この位置はピクセル単位で指定され、デフォルト値は Qt.point(0, 0) です。start とend にデフォルト値を設定すると、y 軸に沿って全高にわたる線形グラデーションが生成されます。

開始値が異なる出力例

左上から始まるグラデーション

中心から始まるグラデーション

右上から始まるグラデーション

start:QPoint(0, 0) start:QPoint(150, 150) start:QPoint(300, 0)
end:QPoint(300, 300)end:QPoint(300, 300)end:QPoint(300, 300)

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