このページでは

QPieSlice Class

QPieSlice クラスは、パイシリーズのスライスを表します。詳細...

ヘッダ #include <QPieSlice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake QT += graphs
QML で PieSlice
継承: QObject

パブリックタイプ

enum class LabelPosition { Outside, InsideHorizontal, InsideTangential, InsideNormal }

プロパティ

パブリック機能

QPieSlice(QObject *parent = nullptr)
QPieSlice(const QString &label, qreal value, QObject *parent = nullptr)
virtual ~QPieSlice() override
qreal angleSpan() const
bool append(QPieSlice *slice)
bool append(const QList<QPieSlice *> &slices)
QPieSlice *append(const QString &label, qreal value)
QPieSlice *at(qsizetype index) const
QColor borderColor() const
qreal borderWidth() const
QColor color() const
qreal explodeDistanceFactor() const
QPieSlice *find(const QString &label) const
bool insert(qsizetype index, QPieSlice *slice)
bool isEmpty() const
bool isExploded() const
bool isLabelVisible() const
QString label() const
qreal labelArmLengthFactor() const
QColor labelColor() const
QFont labelFont() const
QPieSlice::LabelPosition labelPosition()
qreal percentage() const
bool remove(QPieSlice *slice)
bool remove(qsizetype index)
void removeMultiple(qsizetype index, int count)
bool replace(QPieSlice *oldSlice, QPieSlice *newSlice)
bool replace(qsizetype index, QPieSlice *slice)
bool replaceAll(const QList<QPieSlice *> &slices)
QPieSeries *series() const
void setBorderColor(QColor color)
void setBorderWidth(qreal borderWidth)
void setColor(QColor color)
void setExplodeDistanceFactor(qreal factor)
void setExploded(bool exploded)
void setLabel(const QString &label)
void setLabelArmLengthFactor(qreal factor)
void setLabelColor(QColor color)
void setLabelFont(const QFont &font)
void setLabelPosition(QPieSlice::LabelPosition position)
void setLabelVisible(bool visible = true)
void setSubSlicesRatio(qreal subSlicesRatio)
void setValue(qreal value)
QQmlListProperty<QPieSlice> sliceChildren()
qreal startAngle() const
QList<QPieSlice *> subSlices() const
qsizetype subSlicesCount() const
qreal subSlicesRatio() const
qreal subSlicesSum() const
bool take(QPieSlice *slice)
qreal value() const

パブリックスロット

void clear()

シグナル

void angleSpanChanged()
void borderColorChanged()
void borderWidthChanged()
void colorChanged()
void explodeDistanceFactorChanged()
void explodedChanged()
void labelArmLengthFactorChanged()
void labelChanged()
void labelColorChanged()
void labelFontChanged()
void labelPositionChanged()
void labelVisibleChanged()
void percentageChanged()
void startAngleChanged()
void subSlicesAdded(const QList<QPieSlice *> &slices)
void subSlicesCountChanged(qsizetype count)
void subSlicesRatioChanged(qreal newSubSlicesRatio)
void subSlicesRemoved(const QList<QPieSlice *> &slices)
void subSlicesSumChanged(qreal sum)
void valueChanged()

詳細説明

パイスライスには値とラベルがあります。スライスがパイシリーズに追加されると、QPieSeries オブジェクトは、シリーズ内のすべてのスライスの合計と比較したスライスのパーセンテージを計算し、グラフ内のスライスの実際のサイズを決定します。

デフォルトでは、ラベルは非表示です。ラベルが表示されている場合、ラベルはスライスの外側に配置され、アームでスライスに接続されるか、スライスの内側に水平またはスライスの円弧の接線または法線と平行に配置されます。

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

ユーザーが円グラフとインタラクションできるように、ユーザーが円グラフのスライスをクリックしたり、マウスカーソルを重ねたりすると、いくつかの基本的なシグナルが発せられます。

パイスライスはサブスライスを含むことができます。

QPieSeriesも参照してください

メンバ型ドキュメント

enum class QPieSlice::LabelPosition

この列挙型はスライスラベルの位置を記述する。

定数説明
QPieSlice::LabelPosition::Outside0ラベルはアームで接続されたスライスの外側に位置する。これはデフォルト値です。
QPieSlice::LabelPosition::InsideHorizontal1ラベルはスライス内の中央にあり、水平に配置される。
QPieSlice::LabelPosition::InsideTangential2ラベルはスライス内の中央にあり、スライスの円弧の接線と平行になるように回転する。
QPieSlice::LabelPosition::InsideNormal3ラベルはスライス内の中央に配置され、スライスの円弧の法線と平行になるように回転される。

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

[read-only] angleSpan : qreal

このプロパティは、スライスのスパンを度単位で保持する。完全なパイは360度で、0度は午前12時を指す。スライスがシリーズに追加されると自動的に更新されます。

アクセス関数:

qreal angleSpan() const

通知シグナル

void angleSpanChanged()

borderColor : QColor

このプロパティは、スライスの境界線を描画するために使用される色を保持します。このプロパティは、スライスを修正するための便利なプロパティです。

アクセス関数です:

QColor borderColor() const
void setBorderColor(QColor color)

通知シグナル:

void borderColorChanged()

borderWidthも参照してください

borderWidth : qreal

このプロパティは、スライスのボーダーの幅を保持する。このプロパティは、スライスのボーダーの幅を変更するための便利なプロパティです。

アクセス関数です:

qreal borderWidth() const
void setBorderWidth(qreal borderWidth)

通知シグナル:

void borderWidthChanged()

borderColorも参照してください

color : QColor

このプロパティは、スライスの塗りつぶし色を保持する。このプロパティは、スライスの塗りつぶし色を変更するための便利なプロパティです。

アクセス関数です:

QColor color() const
void setColor(QColor color)

通知シグナル

void colorChanged()

explodeDistanceFactor : qreal

スライスがパイからどのくらい離れて爆発するかを決定する。

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

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

アクセス関数

qreal explodeDistanceFactor() const
void setExplodeDistanceFactor(qreal factor)

通知シグナル:

void explodeDistanceFactorChanged()

explodedも参照

exploded : bool

このプロパティは、スライスがパイから分離されているかどうかを保持する。

アクセス関数:

bool isExploded() const
void setExploded(bool exploded)

通知シグナル:

void explodedChanged()

explodeDistanceFactorも参照

label : QString

このプロパティはスライスのラベルを保持します。

注意: 文字列はHTMLフォーマットすることができます。

アクセス関数

QString label() const
void setLabel(const QString &label)

ノーティファイア・シグナル:

void labelChanged()

labelVisiblelabelFontlabelArmLengthFactorも参照

labelArmLengthFactor : qreal

このプロパティは、ラベルアームの長さを保持する。係数はパイの半径に対する相対値である。例えば

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

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

アクセス機能

qreal labelArmLengthFactor() const
void setLabelArmLengthFactor(qreal factor)

通知シグナル:

void labelArmLengthFactorChanged()

labellabelVisiblelabelFontも参照のこと

labelColor : QColor

このプロパティは、スライスラベルの描画に使用される色を保持する。

アクセス関数

QColor labelColor() const
void setLabelColor(QColor color)

通知シグナル

void labelColorChanged()

labelFont : QFont

このプロパティは、ラベルテキストの描画に使用されるフォントを保持する。

アクセス関数

QFont labelFont() const
void setLabelFont(const QFont &font)

アクセス関数: Notifierシグナル:

void labelFontChanged()

labellabelVisiblelabelArmLengthFactorも参照のこと

labelPosition : LabelPosition

このプロパティは、スライスラベルの位置を保持する。

アクセス関数

QPieSlice::LabelPosition labelPosition()
void setLabelPosition(QPieSlice::LabelPosition position)

ノーティファイアシグナル:

void labelPositionChanged()

label およびlabelVisibleも参照

labelVisible : bool

このプロパティは、スライス・ラベルの可視性を保持する。デフォルトでは、ラベルは表示されません。

アクセス関数

bool isLabelVisible() const
void setLabelVisible(bool visible = true)

ノーティファイア・シグナル:

void labelVisibleChanged()

labellabelFontlabelArmLengthFactorも参照

[read-only] percentage : qreal

このプロパティは、シリーズ内の全スライスの合計に対するスライスのパーセンテージを保持する。実際の値の範囲は0.0から1.0です。スライスがシリーズに追加されると自動的に更新される。

アクセス関数:

qreal percentage() const

通知シグナル:

void percentageChanged()

value およびQPieSeries::sumも参照

[read-only] sliceChildren : QQmlListProperty<QPieSlice>

このスライスに含まれるサブスライスのリスト。これはデフォルトのプロパティで、children プロパティ名を明示的に使わなくても、QML のスライス要素内でサブスライスを指定することができます。

アクセス関数です:

QQmlListProperty<QPieSlice> sliceChildren()

[read-only] startAngle : qreal

このプロパティは、このスライスが属するシリーズの開始角度を保持する。完全なパイは360度であり、0度は12時の方向である。スライスがシリーズに追加されると自動的に更新されます。

アクセス関数:

qreal startAngle() const

通知シグナル:

void startAngleChanged()

[read-only] subSlicesCount : qsizetype

このプロパティは、スライス内のサブスライス数を保持する。

アクセス関数

qsizetype subSlicesCount() const

通知シグナル

void subSlicesCountChanged(qsizetype count)

subSlicesRatio : qreal

親スライスに対するサブスライスの相対サイズ。値の範囲は0.0から1.0で、1.0はサブスライスがない場合の親スライスと同じスペースをサブスライスが占めることを意味します。デフォルト値は0.6です。

アクセス関数:

qreal subSlicesRatio() const
void setSubSlicesRatio(qreal subSlicesRatio)

通知シグナル:

void subSlicesRatioChanged(qreal newSubSlicesRatio)

[read-only] subSlicesSum : qreal

このプロパティは全てのサブスライスの合計を保持する。

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

アクセス関数

qreal subSlicesSum() const

通知シグナル

void subSlicesSumChanged(qreal sum)

value : qreal

このプロパティは、スライスの値を保持する。

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

アクセス関数

qreal value() const
void setValue(qreal value)

ノーティファイア・シグナル:

void valueChanged()

percentage() およびQPieSeries::sum()も参照のこと

メンバ関数ドキュメント

[explicit] QPieSlice::QPieSlice(QObject *parent = nullptr)

空のスライスを親parent

QPieSeries::append() およびQPieSeries::insert()も参照

QPieSlice::QPieSlice(const QString &label, qreal value, QObject *parent = nullptr)

指定されたvaluelabelparent で空のスライスを構築します。

QPieSeries::append() およびQPieSeries::insert()も参照

[override virtual noexcept] QPieSlice::~QPieSlice()

スライスを削除する。スライスがシリーズに追加されている場合は削除してはならない。

[invokable] bool QPieSlice::append(QPieSlice *slice)

slice で指定されたサブスライスをスライスに追加します。サブスライスの所有権はスライスに渡されます。

追加に成功すればtrue を返します。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QPieSlice::append(const QList<QPieSlice *> &slices)

slices で指定されたサブスライスの配列をスライスに追加します。サブスライスの所有権はスライスに渡されます。

追加に成功すればtrue を返します。

Note: この関数はメタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] QPieSlice *QPieSlice::append(const QString &label, qreal value)

指定されたvaluelabel を持つ単一のサブスライスをスライスに追加します。サブスライスの所有権はスライスに渡されます。valueNaNInf-Inf の場合は null を返し、シリーズに何も追加しません。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] QPieSlice *QPieSlice::at(qsizetype index) const

index の位置にあるPieSlice を返す。PieSlice が見つからない場合は null を返す。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[slot] void QPieSlice::clear()

スライスからすべてのサブスライスを消去する。

[invokable] QPieSlice *QPieSlice::find(const QString &label) const

ラベルlabel を含むPieSlice を検索する。見つかればPieSlice を返し、見つからなければ null を返す。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QPieSlice::insert(qsizetype index, QPieSlice *slice)

index で指定された位置にあるサブスライスの前に、slice で指定されたサブスライスを挿入します。サブ・スライスの所有権はスライスに渡されます。

挿入に成功すればtrue を返します。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

bool QPieSlice::isEmpty() const

サブスライスリストが空の場合はtrue を返します。

[invokable] bool QPieSlice::remove(QPieSlice *slice)

slice で指定された1つのサブ・スライスをスライスから削除し、永久に削除する。

このポインタはこの呼び出しの後には参照できない。

削除に成功した場合はtrue を返します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QPieSlice::remove(qsizetype index)

index にあるPieSlice を削除する。PieSlice は永久に削除される。削除に成功した場合はtrue を返します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] void QPieSlice::removeMultiple(qsizetype index, int count)

index からcount までのスライスから複数の PieSlices を削除します。 PieSlices は永久に削除されます。

注意: この関数はメタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QPieSlice::replace(QPieSlice *oldSlice, QPieSlice *newSlice)

スライス内にPieSlice oldSlice があれば、それをnewSlice に置き換えます。oldSlice は永久に削除されます。置き換えに成功した場合はtrue を返します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QPieSlice::replace(qsizetype index, QPieSlice *slice)

位置indexPieSliceslice で指定されたものに置き換える。元のPieSlice は永久に削除されます。PieSlices の置き換えに失敗した場合はfalse を返します。

注意: この関数はメタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QPieSlice::replaceAll(const QList<QPieSlice *> &slices)

スライス内のパイスライスのリスト全体をslices で指定されたリストで置き換えます。元の PieSlices はすべて永久に削除されます。すべての PieSlices が正常に置換された場合、true を返します。

注意: この関数はメタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

QPieSeries *QPieSlice::series() const

このスライスが属するシリーズを返します。

QPieSeries::append()も参照

QList<QPieSlice *> QPieSlice::subSlices() const

このスライスに属するサブスライスのリストを返します。

[signal] void QPieSlice::subSlicesAdded(const QList<QPieSlice *> &slices)

このシグナルは、slices で指定されたサブスライスがスライスに追加されたときに発せられる。

append()も参照してください

qsizetype QPieSlice::subSlicesCount() const

このスライスに含まれるサブスライスの数を返します。

注: プロパティ subSlicesCount のゲッター関数です。

[signal] void QPieSlice::subSlicesRemoved(const QList<QPieSlice *> &slices)

このシグナルは、slices で指定されたサブスライスがスライスから取り除かれたときに発せられる。

remove()も参照してください

qreal QPieSlice::subSlicesSum() const

このスライス内のすべてのサブスライス値の合計を返します。

注: プロパティ subSlicesSum のゲッター関数です。

QPieSlice::value(),QPieSlice::setValue(),QPieSlice::percentage()も参照

[invokable] bool QPieSlice::take(QPieSlice *slice)

slice で指定された1つのサブスライスをシリーズから取り出します。スライスオブジェクトは削除しません。

メモ: スライスはスライスの親オブジェクトのままです。完全な所有権を取得するには親オブジェクトを設定する必要があります。

take 操作が成功した場合、true を返します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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