このページでは

ConicalGradient QML Type

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

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

Item

プロパティ

詳細な説明

グラデーションとは、2色以上の色がシームレスに混ざり合うことで定義されます。色は指定された角度から始まり、その角度値に360度を加えた角度で終わります。

適用された効果

中心を軸に色が回転する円錐状のグラデーション

例

以下の例は、このエフェクトを適用する方法を示しています。

import QtQuick
import Qt5Compat.GraphicalEffects

Item {
    width: 300
    height: 300

    ConicalGradient {
        anchors.fill: parent
        angle: 0.0
        gradient: Gradient {
            GradientStop { position: 0.0; color: "white" }
            GradientStop { position: 1.0; color: "black" }
        }
    }
}

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

angle : real

このプロパティは、グラデーションの位置 0.0 における色が描画される開始角度を定義します。位置値が大きいほど、より大きな角度の範囲に色が描画され、シームレスにブレンドされます。角度値は時計回りに増加します。

角度値が異なる出力例

角度 0 における円錐状の勾配

角度45度の円錐状の勾配

角度185度の円錐状グラデーション

angle: 0 angle: 45 angle: 185
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 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"
  }
}
angle: 0angle: 0angle: 0
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0

horizontalOffset : real

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

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

horizontalOffset の値を変えた出力例

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

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

グラデーションの中心を右にオフセット

horizontalOffset: -50 horizontalOffset: 0 horizontalOffset: 50
angle: 0angle: 0angle: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0

source : variant

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

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

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

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

source: undefined source:
angle: 0angle: 0
horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0

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

verticalOffset : real

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

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

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

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

原点に位置する勾配中心

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

horizontalOffset: -50 horizontalOffset: 0 horizontalOffset: 50
angle: 0angle: 0angle: 0
垂直オフセット: 0垂直オフセット: 0垂直オフセット: 0

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