このページでは

PieSlice QML Type

円グラフシリーズ内の1つのスライスを表します。詳細...

Import Statement: import QtGraphs
In C++: QPieSlice

プロパティ

信号

方法

  • PieSlice append(string label, real value)
  • PieSlice at(int index)
  • void clear()
  • PieSlice find(string label)
  • bool remove(PieSlice slice)
  • bool remove(int index)
  • void removeMultiple(int index, int count)
  • bool replace(PieSlice oldSlice, PieSlice newSlice)
  • bool replace(int index, PieSlice slice)
  • bool replaceAll(list<PieSlice> slices)
  • bool take(PieSlice slice)

詳細な説明

円グラフのスライスには、値とラベルがあります。スライスが円グラフシリーズに追加されると、PieSeries タイプは、シリーズ内のすべてのスライスの合計に対するそのスライスの割合を計算し、グラフ上のスライスの実際のサイズを決定します。

デフォルトでは、ラベルは非表示になっています。表示されている場合、ラベルはセグメントの外側に配置され、アームでセグメントと接続されるか、セグメントの弧の接線または法線に平行に、水平方向にセグメントの中心に配置されます。

デフォルトでは、スライスの外観はテーマによって設定されますが、スライスのプロパティを指定することでテーマを上書きすることができます。ただし、スライスのカスタマイズ後にテーマを変更すると、すべてのカスタマイズ設定が失われます。

PieSlice 型は、PieSeries 型の子として使用する必要があります。例:

PieSeries {
    PieSlice {
        label: "example"
        value: 1
    }
}

あるいは、PieSeries.append() メソッドを使用して、パイシリーズにスライスを追加することもできます。

その場合、PieSeries.at() またはPieSeries.find() を使用して、個々の PieSlice インスタンスのプロパティにアクセスできます。

円グラフのスライスには、サブスライスを含めることができます。

PieSeries {
    PieSlice {
        label: "example"
        value: 1
        color: "orange"
        exploded: true
        PieSlice {
            label: "example2"
            value: 2
            color: "red"
        }
        PieSlice {
            label: "example3"
            value: 3
            color: "yellow"
            exploded: true
        }
    }
    PieSlice {
        label: "example4"
        value: 4
        color: "green"
    }
}

パイの一切れが2つの小さな切れ目に分けられている

PieSeriesも参照してください 。

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

angleSpan : real [read-only]

スライスの角度範囲(度)。円全体は360度で、0度は12時の位置に相当します。スライスが系列に追加されると、自動的に更新されます。

borderColor : color

スライスの境界線を描く際に使用する色。

borderWidthも参照してください 。

borderWidth : real

スライスの境界線の幅。これは、スライスの境界線の幅を変更するための便宜的なプロパティです。

「borderColor」も参照してください 。

color : color

スライスの塗りつぶし色。

explodeDistanceFactor : real

スライスが円からどの程度離れた位置に展開されるかを決定します。

  • 1.0 は、その距離が半径と同じであることを意味します。
  • 0.5 は、その距離が半径の半分であることを意味します。

デフォルトでは、距離は 0.15 です。

explodedも参照してください 。

exploded : bool

その一切れがパイから切り離されているかどうか。

explodeDistanceFactorも参照してください 。

label : string

スライスのラベル。

注:この 文字列には HTML形式の記述を含めることができます。

labelArmLengthFactor : real

ラベルアームの長さ。この係数は円グラフの半径に対する相対値です。例:

  • 1.0 は、長さが半径と同じであることを意味します。
  • 0.5 は、長さが半径の半分であることを意味します。

デフォルトでは、アームの長さは 0.15 です。

labelVisibleも参照してください 。

labelColor : color

スライスのラベルを描画する際に使用する色。

labelFont : font

スライスのラベルに使用されるフォント。

詳細については、font を参照してください。

labelVisible およびlabelPositionも参照してください 。

labelPosition : enumeration

スライスラベルの位置を指定します。

定数説明
PieSlice.LabelPosition.Outsideラベルは、アームを介して接続されたスライスの外側に配置されます。これがデフォルト値です。
PieSlice.LabelPosition.InsideHorizontalラベルはスライス内で中央に配置され、水平方向に配置されます。
PieSlice.LabelPosition.InsideTangentialラベルはスライス内で中央に配置され、スライスの弧の接線と平行になるように回転されます。
PieSlice.LabelPosition.InsideNormalラベルはスライス内で中央に配置され、スライスの弧の法線と平行になるように回転されます。

関連項目: labelVisible 。

labelVisible : bool

スライスのラベルの表示設定。デフォルトでは、ラベルは表示されません。

percentage : real [read-only]

そのスライスが、シリーズ内の全スライスの合計に占める割合です。実際の値は 0.0 から 1.0 の範囲です。スライスがシリーズに追加されると、自動的に更新されます。

startAngle : real [read-only]

このスライスが属するシリーズにおける開始角度です。円全体は360度で、0度は12時の位置にあたります。スライスがシリーズに追加されると自動的に更新されます。

subSlicesCount : int [read-only]

スライスに含まれるサブスライスの数。

subSlicesSum : real [read-only]

すべてのサブスライスの合計。

スライスは、自身が保持するすべてのサブスライスの合計を追跡します。

value : real

スライスの値。

注: 負の値は 正の値に変換されます。

Signal ドキュメント

angleSpanChanged()

このシグナルは、スライスの角度範囲が変更されたときに発行されます。

注: 対応するハンドラは onAngleSpanChanged です。

「angleSpan」も参照してください 。

borderColorChanged()

このシグナルは、スライスの境界線の色が変化したときに発せられます。

注: 対応するハンドラは `onBorderColorChanged` です。

「borderColor」も参照してください 。

borderWidthChanged()

このシグナルは、スライスの境界線の幅が変化したときに発せられます。

注: 対応するハンドラは onBorderWidthChanged です。

「borderWidth」も参照してください 。

colorChanged()

このシグナルは、スライスの色が変化したときに発せられます。

注: 対応するハンドラは onColorChanged です。

explodeDistanceFactorChanged()

このシグナルは、爆発距離係数が変化したときに発信されます。

注: 対応するハンドラは onExplodeDistanceFactorChanged です。

「explodeDistanceFactor」も参照してください 。

explodedChanged()

このシグナルは、exploded プロパティが変更されたときに発火します。

注: 対応するハンドラは onExplodedChanged です。

「exploded」も参照してください 。

labelArmLengthFactorChanged()

このシグナルは、ラベルアームの長さ係数が変化したときに発行されます。

注: 対応するハンドラは onLabelArmLengthFactorChanged です。

「labelArmLengthFactor」も参照してください 。

labelChanged()

このシグナルは、スライスのラベルが変更されたときに発行されます。

注: 対応するハンドラは onLabelChanged です。

「label」も参照してください 。

labelColorChanged()

このシグナルは、スライスのラベルの色が変化したときに発せられます。

注: 対応するハンドラは onLabelColorChanged です。

「labelColor」も参照してください 。

labelFontChanged()

このシグナルは、スライスのラベルのフォントが変更されたときに発生します。

注: 対応するハンドラは onLabelFontChanged です。

「labelFont」も参照してください 。

labelFontChanged()

このシグナルは、ラベルのフォントが変更されたときに発生します。

注: 対応するハンドラは onLabelFontChanged です。

「labelFont」も参照してください 。

labelPositionChanged()

このシグナルは、ラベルの位置が変更されたときに発生します。

注: 対応するハンドラは onLabelPositionChanged です。

「labelPosition」も参照してください 。

labelVisibleChanged()

このシグナルは、スライスラベルの可視状態が変化したときに発せられます。

注: 対応するハンドラは onLabelVisibleChanged です。

「labelVisible」も参照してください 。

percentageChanged()

このシグナルは、スライスの割合が変化したときに発行されます。

注: 対応するハンドラは onPercentageChanged です。

「percentage」も参照してください 。

startAngleChanged()

このシグナルは、スライスの開始角度が変更されたときに発信されます。

注: 対応するハンドラは onStartAngleChanged です。

「startAngle」も参照してください 。

subSlicesAdded(list<PieSlice> slices)

slices で指定されたサブスライスがスライスに追加されたときに、このシグナルが発信されます。

注: 対応するハンドラは onSubSlicesAdded です。

subSlicesCountChanged(qsizetype count)

このシグナルは、サブスライス `count ` が変更されたときに発信されます。

注: 対応するハンドラは onSubSlicesCountChanged です。

「subSlicesCount」も参照してください 。

subSlicesRemoved(list<PieSlice> slices)

slices で指定されたサブスライスがスライスから削除されたときに、このシグナルが発信されます。

注: 対応するハンドラは onSubSlicesRemoved です。

subSlicesSumChanged(qreal sum)

このシグナルは、すべてのサブスライスのsum が変更されたときに発信されます。

注: 対応するハンドラは `onSubSlicesSumChanged` です。

「subSlicesSum」も参照してください 。

valueChanged()

このシグナルは、スライスの値が変化したときに発生します。

注: 対応するハンドラは onValueChanged です。

「value」も参照してください 。

メソッドのドキュメント

PieSlice append(string label, real value)

スライスに、ラベル「label 」、値「value 」を持つ新しいサブスライスを追加します。

PieSlice at(int index)

index で指定された位置のサブスライスを返します。インデックスが無効な場合はnullを返します。

void clear()

スライスからすべてのサブスライスを削除します。

PieSlice find(string label)

「label 」というラベルを持つ最初のサブスライスを返します。ラベルが見つからない場合はnullを返します。

bool remove(PieSlice slice)

slice で指定されたサブスライスをスライスから削除します。削除に成功した場合はtrue を返し、失敗した場合はfalse を返します。

bool remove(int index)

index で指定されたサブスライスをスライスから削除します。削除に成功した場合は `true ` を返し、そうでない場合は `false ` を返します。

void removeMultiple(int index, int count)

index およびcount で指定された範囲のサブスライスを削除します。この呼び出しでは、1つの削除に失敗した場合でも、すべてのサブスライスを順に処理します。

bool replace(PieSlice oldSlice, PieSlice newSlice)

oldSlice で指定されたサブスライスをnewSlice に置き換えます。置き換えに成功した場合はtrue を返し、失敗した場合はfalse を返します。oldSlice は、置き換えに成功した場合に破棄されます。

bool replace(int index, PieSlice slice)

index にあるスライスから、slice で指定されたサブスライスを置換します。置換が成功した場合はtrue を返し、失敗した場合はfalse を返します。

bool replaceAll(list<PieSlice> slices)

現在のすべてのサブスライスをslices で完全に置き換えます。サイズは一致している必要はありません。slices 内のPieSlice のいずれかが無効な場合、falseを返します。

bool take(PieSlice slice)

スライスから、slice で指定された単一のサブスライスを取得します。サブスライスオブジェクトは削除されません。成功した場合はtrue を返します。

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