このページでは

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"
    }
}

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

スライスの値。

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

シグナル・ドキュメント

angleSpanChanged()

このシグナルは、スライスの角度スパンが変化したときに発せられる。

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

angleSpanも参照してください

borderColorChanged()

このシグナルはスライスのボーダーの色が変わったときに発せられます。

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

borderColorも参照してください

borderWidthChanged()

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

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

borderWidthも参照してください

colorChanged()

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

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

explodeDistanceFactorChanged()

このシグナルは爆発距離係数が変化したときに発せられる。

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

explodeDistanceFactorも参照のこと

explodedChanged()

このシグナルは、分解されたプロパティが変更されたときに発行される。

注意: 対応するハンドラは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)

indexcount で指定されたサブスライスの範囲を削除します。このコールは、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 で完全に置き換えます。サイズは一致する必要はない。slicesPieSlice のいずれかが無効な場合は 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.