このページでは

RadialGradient QML Type

放射状のグラデーションを描画します。詳細...

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

Item

プロパティ

詳細な説明

グラデーションとは、2色以上の色がシームレスに混ざり合うことで形成されるものです。色はアイテムの中央から始まり、端で終わります。

適用された効果

中心から端にかけての放射状のグラデーション

例

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

import QtQuick
import Qt5Compat.GraphicalEffects

Item {
    width: 300
    height: 300

    RadialGradient {
        anchors.fill: parent
        gradient: Gradient {
            GradientStop { position: 0.0; color: "white" }
            GradientStop { position: 0.5; color: "black" }
        }
    }
}

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

angle : real

このプロパティは、グラデーションの中心点を中心とした回転を定義します。この回転は、horizontalRadius プロパティとverticalRadius プロパティの値が等しくない場合にのみ表示されます。角度は度単位で指定され、デフォルト値は0 です。

cached : bool

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

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

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

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

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"
  }
}
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0
horizontalRadius: 300horizontalRadius: 300horizontalRadius: 300
verticalRadius: 300verticalRadius: 300verticalRadius: 300
angle: 0angle: 0angle: 0

horizontalOffset : real

horizontalOffset およびverticalOffset プロパティは、アイテムの中心に対するグラデーションの中心点のオフセットをピクセル単位で指定します。

値の範囲は-infからinfです。デフォルトでは、これらのプロパティは0 に設定されています。

horizontalOffset の値を変えた出力例

グラデーションの中心を左にずらす

原点に位置する勾配の中心

グラデーションの中心を右にずらす

horizontalOffset: -150 horizontalOffset: 0 horizontalOffset: 150
verticalOffset: 0verticalOffset: 0verticalOffset: 0
horizontalRadius: 300horizontalRadius: 300horizontalRadius: 300
verticalRadius: 300verticalRadius: 300verticalRadius: 300
angle: 0angle: 0angle: 0

horizontalRadius : real

horizontalRadius およびverticalRadius プロパティは、放射状グラデーションの形状とサイズを定義します。半径が等しい場合、グラデーションの形状は円になります。水平半径と垂直半径が異なる場合、形状は楕円になります。半径はピクセル単位で指定されます。

値の範囲は-infからinfです。デフォルトでは、horizontalRadiusはwidthに、verticalRadius はheightに紐付けられています。

horizontalRadiusの値を変えた場合の出力例

円形のグラデーション形状

楕円状のグラデーション形状

horizontalRadius: 300 horizontalRadius: 100
horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0
verticalRadius: 300verticalRadius: 300
angle: 0angle: 0
gradient: QQuickGradient(0xa05fb10)gradient: QQuickGradient(0xa05fb10)

source : variant

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

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

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

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

source: undefined source: Image { source: images/butterfly.png }
horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0
horizontalRadius: 300horizontalRadius: 300
verticalRadius: 300verticalRadius: 300
angle: 0angle: 0

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

verticalOffset : real

horizontalOffset および verticalOffset プロパティは、アイテムの中心に対するグラデーションの中心点のオフセット(ピクセル単位)を定義します。

値の範囲は -inf から inf です。デフォルトでは、これらのプロパティは `0` に設定されています。

horizontalOffset の値を変えた出力例

グラデーションの中心を左にずらす

原点に位置する勾配の中心

グラデーションの中心を右にずらす

horizontalOffset: -150 horizontalOffset: 0 horizontalOffset: 150
verticalOffset: 0verticalOffset: 0垂直オフセット: 0
horizontalRadius: 300horizontalRadius: 300horizontalRadius: 300
verticalRadius: 300verticalRadius: 300verticalRadius: 300
angle: 0angle: 0angle: 0

verticalRadius : real

horizontalRadius および verticalRadius プロパティは、放射状グラデーションの形状とサイズを定義します。半径が等しい場合、グラデーションの形状は円になります。水平半径と垂直半径が異なる場合、形状は楕円になります。半径はピクセル単位で指定されます。

値の範囲は -inf から inf です。デフォルトでは、horizontalRadius は幅に、verticalRadius は高さに紐付けられています。

horizontalRadius の値を変えた場合の出力例

円形のグラデーション形状

楕円形のグラデーション形状

horizontalRadius: 300 horizontalRadius: 100
horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0
垂直半径: 300垂直半径: 300
angle: 0angle: 0
gradient: QQuickGradient(0xa05fb10)gradient: QQuickGradient(0xa05fb10)

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