このページでは

QPieSeries Class

QPieSeries クラスは、データを円グラフで表示します。詳細...

ヘッダー: #include <QPieSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
QML内: PieSeries
継承元: QAbstractSeries

パブリック型

(since 6.10) enum class LabelVisibility { None, First, Even, Odd }

プロパティ

パブリック関数

QPieSeries(QObject *parent = nullptr)
QPieSeries::LabelVisibility angleSpanLabelVisibility() const
qreal angleSpanVisibleLimit() const
bool append(QPieSlice *slice)
bool append(const QList<QPieSlice *> &slices)
QPieSlice *append(const QString &label, qreal value)
QPieSlice *at(qsizetype index)
void clear()
qsizetype count() const
qreal endAngle() const
QPieSlice *find(const QString &label)
qreal holeSize() const
qreal horizontalPosition() const
bool insert(qsizetype index, QPieSlice *slice)
bool isEmpty() const
qreal pieSize() const
bool remove(QPieSlice *slice)
bool remove(qsizetype index)
void removeMultiple(qsizetype index, int count)
bool replace(const QList<QPieSlice *> &slices)
bool replace(QPieSlice *oldSlice, QPieSlice *newSlice)
bool replace(qsizetype index, QPieSlice *slice)
void setAngleSpanLabelVisibility(QPieSeries::LabelVisibility newAngleSpanVisibleMode)
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)
void setEndAngle(qreal angle)
void setHoleSize(qreal holeSize)
void setHorizontalPosition(qreal relativePosition)
void setLabelsPosition(QPieSlice::LabelPosition position)
void setLabelsVisible(bool visible)
void setPieSize(qreal relativeSize)
void setSliceData(const QList<qreal> &newSliceData)
void setSliceLabels(QStringList newLabels)
void setStartAngle(qreal angle)
void setVerticalPosition(qreal relativePosition)
QList<qreal> sliceData() const
const QStringList &sliceLabels() const &
QStringList sliceLabels() &&
QList<QPieSlice *> slices() const
qreal startAngle() const
qreal sum() const
bool take(QPieSlice *slice)
qreal verticalPosition() const
QPieSeries &operator<<(QPieSlice *slice)

再実装されたパブリック関数

virtual QAbstractSeries::SeriesType type() const override

シグナル

void added(const QList<QPieSlice *> &slices)
void angleSpanLabelVisibilityChanged(QPieSeries::LabelVisibility visibility)
void angleSpanVisibleLimitChanged(qreal limit)
void countChanged()
void endAngleChanged()
void holeSizeChanged()
void horizontalPositionChanged()
void pieSizeChanged()
void removed(const QList<QPieSlice *> &slices)
void sliceDataChanged(const QList<qreal> &sliceData)
void sliceLabelsChanged(const QStringList &sliceLabels)
void startAngleChanged()
void sumChanged()
void verticalPositionChanged()

詳細な説明

パイシリーズは、QPieSlice オブジェクトとして定義されたスライスで構成されます。QPieSeriesオブジェクトは、シリーズ内のすべてのスライスの合計に対する各スライスの割合を計算して、グラフ上のスライスの実際のサイズを決定するため、スライスには任意の値を指定できます。

グラフ上の円グラフのサイズと位置は、0.0 から 1.0 までの範囲の相対値を使用して制御されます。これらは、実際のグラフの矩形に関連付けられています。

デフォルトでは、円グラフは完全な円として定義されます。シリーズに対して開始角度と角度範囲を設定することで、部分的な円グラフを作成できます。完全な円グラフは 360 度で、0 度は 12 時の位置に相当します。

QPieSliceも参照してください 。

メンバ・タイプのドキュメント

[since 6.10] enum class QPieSeries::LabelVisibility

ラベルの表示設定。

定数値説明
QPieSeries::LabelVisibility::None0angleSpanVisibleLimit よりも角度スパンが小さいスライスのラベルはすべて非表示になります。
QPieSeries::LabelVisibility::First1angleSpanVisibleLimit よりも角度スパンが小さい連続するスライスのうち、最初のラベルを除くすべてのラベルが非表示になります。これがデフォルト値です。
QPieSeries::LabelVisibility::Even2angleSpanVisibleLimit より角度スパンが小さい連続するスライスのラベルのうち、2 番目以降を 1 つおきに非表示にします。
QPieSeries::LabelVisibility::Odd3angleSpanVisibleLimit よりも角度スパンが小さい連続するスライスのラベルは、最初のラベルから数えて 1 つおきに非表示になります。

この列挙型は Qt 6.10 で導入されました。

「QPieSeries::angleSpanVisibleLimit」も参照してください 。

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

[since 6.10] angleSpanLabelVisibility : LabelVisibility

このプロパティは、ラベルの表示モードを指定します。

angleSpanVisibleLimit で設定された角度範囲の制限を下回った場合に、どのラベルを非表示にするかを決定するモードです。angleSpanVisibleLimit が設定されていない場合は、このプロパティは効果を持ちません。

この列挙型は Qt 6.10 で導入されました。

アクセス関数:

QPieSeries::LabelVisibility angleSpanLabelVisibility() const
void setAngleSpanLabelVisibility(QPieSeries::LabelVisibility newAngleSpanVisibleMode)

Notifierシグナル:

void angleSpanLabelVisibilityChanged(QPieSeries::LabelVisibility visibility)

「QPieSeries::angleSpanVisibleLimit」も参照してください 。

[since 6.10] angleSpanVisibleLimit : qreal

このプロパティは、ラベルの表示可否を決定する角度範囲の上限を指定します。

スライスラベルの表示制限として使用される角度範囲です。この値未満の角度範囲を持つスライスは、シリーズに設定されたangleSpanLabelVisibility に基づいて表示状態が変更されます。デフォルト値は0 であり、これはangleSpanLabelVisibility の設定にかかわらず、どのスライスも非表示にならないことを意味します。

この列挙型はQt 6.10で導入されました。

アクセス関数:

qreal angleSpanVisibleLimit() const
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)

Notifierシグナル:

void angleSpanVisibleLimitChanged(qreal limit)

「QPieSeries::angleSpanLabelVisibility」も参照してください 。

[read-only] count : qsizetype

このプロパティは、シリーズに含まれるスライスの数を保持します。

アクセス関数:

qsizetype count() const

通知シグナル:

void countChanged()

endAngle : qreal

このプロパティは、円グラフの終了角度を保持します。

円グラフの全周は360度で、0度は12時の位置にあたります。

デフォルト値は 360 です。

アクセス関数:

qreal endAngle() const
void setEndAngle(qreal angle)

通知シグナル:

void endAngleChanged()

holeSize : qreal

このプロパティには、ドーナツの穴のサイズが格納されます。

pieSize プロパティを設定する際、穴のサイズがパイのサイズを超えないようにするため、必要に応じてこのプロパティが調整されます。

デフォルト値は 0.0 です。

アクセス関数:

qreal holeSize() const
void setHoleSize(qreal holeSize)

通知シグナル:

void holeSizeChanged()

horizontalPosition : qreal

このプロパティは、パイチャートの水平位置を指定します。

この値はグラフの矩形を基準とするため、次のように定義されます。

  • 0.0 は絶対的な左端です。
  • 1.0 は絶対的な右端です。

デフォルト値は 0.5(中央)です。

アクセス関数:

qreal horizontalPosition() const
void setHorizontalPosition(qreal relativePosition)

通知シグナル:

void horizontalPositionChanged()

verticalPositionも参照してください 。

pieSize : qreal

このプロパティは、円グラフのサイズを保持します。

この値はグラフの矩形を基準としているため、次のように定義されます。

  • 0.0 は最小の pieSize(円グラフは描画されません)。
  • 1.0 は、グラフに収まる最大の pieSize です。

このプロパティを設定すると、必要に応じてholeSize プロパティが調整され、穴のサイズが円グラフのサイズを超えないようにします。

デフォルト値は 0.7 です。

アクセス関数:

qreal pieSize() const
void setPieSize(qreal relativeSize)

Notifier シグナル:

void pieSizeChanged()

[since 6.12] sliceData : QList<qreal>

宣言型スライス値。

このプロパティを設定すると、宣言的に円グラフのスライスを作成できます。シリーズは、値ごとに1つのスライスを自動的に作成します。ラベルは `sliceLabels` を通じて指定できます。

注: 宣言型と命令型のデータ入力を混在させることは サポートされていません。

この列挙型はQt 6.12で導入されました。

アクセス関数:

QList<qreal> sliceData() const
void setSliceData(const QList<qreal> &newSliceData)

通知シグナル:

void sliceDataChanged(const QList<qreal> &sliceData)

sliceLabelsも参照してください 。

[since 6.12] sliceLabels : QStringList

宣言型スライスラベル。

sliceData によって作成されたスライスにラベルを指定します。ラベルは値と同じ順序で指定する必要があります。スライスの数を超える余分なラベルは無視されます。

注: 宣言型と命令型のデータ入力を混在させることは サポートされていません。

この列挙型は Qt 6.12 で導入されました。

アクセス関数:

const QStringList &sliceLabels() const &
QStringList sliceLabels() &&
void setSliceLabels(QStringList newLabels)

Notifierシグナル:

void sliceLabelsChanged(const QStringList &sliceLabels)

sliceDataも参照してください 。

startAngle : qreal

このプロパティには、円グラフの開始角度が格納されます。

円グラフの全周は360度で、0度は12時の位置にあたります。

デフォルト値は 0 です。

アクセス関数:

qreal startAngle() const
void setStartAngle(qreal angle)

通知シグナル:

void startAngleChanged()

[read-only] sum : qreal

このプロパティには、すべてのスライスの合計値が格納されます。

この系列は、自身が保持するすべてのスライスの合計を管理しています。

アクセス関数:

qreal sum() const

通知シグナル:

void sumChanged()

verticalPosition : qreal

このプロパティは、パイチャートの垂直位置を指定します。

この値はグラフの矩形を基準とするため、次のようになります。

  • 0.0 は絶対的な最上部です。
  • 1.0 は絶対的な最下部です。

デフォルト値は 0.5(中央)です。

アクセス関数:

qreal verticalPosition() const
void setVerticalPosition(qreal relativePosition)

通知シグナル:

void verticalPositionChanged()

horizontalPositionも参照してください 。

メンバ関数のドキュメント

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

parent の子となるシリーズオブジェクトを作成します。

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

slices で指定されたスライスがシリーズに追加されると、このシグナルが発信されます。

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

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

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

追加に成功した場合、true を返します。

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

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

slices で指定されたスライスの配列を、シリーズに追加します。スライスの所有権はシリーズに渡されます。

追加に成功した場合、true を返します。

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

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

指定されたvalue およびlabel を持つ単一のスライスをシリーズに追加します。スライスの所有権はシリーズに渡されます。value がNaN 、Inf 、または-Inf の場合、nullを返し、シリーズには何も追加されません。

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

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

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

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

[invokable] void QPieSeries::clear()

シリーズからすべてのスライスを削除します。

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

qsizetype QPieSeries::count() const

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

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

qreal QPieSeries::endAngle() const

円グラフの終了角度を返します。

円グラフの全周は360度で、0度は12時の位置にあたります。

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

関連項目: setEndAngle()、startAngle()、setStartAngle()。

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

ラベル「label 」を含むPieSlice を検索します。見つかった場合はPieSlice を返し、見つからない場合はnullを返します。

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

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

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

挿入に成功した場合、true を返します。

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

bool QPieSeries::isEmpty() const

シリーズが空の場合、true を返します。

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

slice で指定された 1 つのスライスをシリーズから削除し、完全に破棄します。

この呼び出し後は、そのポインタを参照することはできません。

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

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

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

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

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

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

index からcount までの範囲にある、一連の PieSlices を複数削除します。削除された PieSlices は完全に削除されます。

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

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

slices で指定されたスライスがシリーズから削除されたときに、このシグナルが発生します。

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

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

シリーズ内のPieSlicesのリスト全体を、slices で指定されたリストに置き換えます。元のPieSlicesはすべて完全に削除されます。すべてのPieSlicesの置き換えが正常に完了した場合、true を返します。

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

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

シリーズ内に `PieSlice ` `oldSlice ` が見つかった場合、これを `newSlice ` に置き換えます。`oldSlice ` は完全に削除されます。置き換えに成功した場合は `true ` を返します。

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

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

位置index にあるPieSlice を、slice で指定されたものに置き換えます。元のPieSlice は完全に削除されます。PieSlicesのいずれかの置き換えに失敗した場合は、false を返します。

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

void QPieSeries::setEndAngle(qreal angle)

パイの終了角度を設定します。

円グラフの全周は360度で、0度は12時の位置にあたります。

angle 開始角度よりも大きくなければなりません。

注: プロパティ `endAngle`のセッター 関数です。

関連項目: endAngle()、startAngle()、およびsetStartAngle()。

void QPieSeries::setLabelsPosition(QPieSlice::LabelPosition position)

すべてのスライスラベルの位置をposition に設定します。

注:この関数は 、シリーズ内の現在のスライスにのみ影響します。新しいスライスが追加された場合、ラベルの位置はデフォルトで QPieSlice::LabelOutside になります。

QPieSlice::labelPosition() およびQPieSlice::setLabelPosition()も参照してください 。

void QPieSeries::setLabelsVisible(bool visible)

すべてのスライスラベルの表示設定を「visible 」に設定します。

注:この関数は 、シリーズ内の現在のスライスのみに影響します。新しいスライスが追加された場合、ラベルの表示状態のデフォルトはfalse になります。

関連項目: QPieSlice::isLabelVisible() およびQPieSlice::setLabelVisible()。

void QPieSeries::setStartAngle(qreal angle)

パイの開始角度を設定します。

円グラフの全周は360度で、0度は12時の位置にあたります。

angle 終了角度よりも小さく設定する必要があります。

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

startAngle()、endAngle()、およびsetEndAngle()も参照してください 。

QList<QPieSlice *> QPieSeries::slices() const

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

qreal QPieSeries::startAngle() const

円グラフの開始角度を返します。

円グラフの全周は360度で、0度は12時の位置にあたります。

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

関連項目: setStartAngle()、endAngle()、およびsetEndAngle()。

qreal QPieSeries::sum() const

この系列に含まれるすべてのスライスの値の合計を返します。

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

関連項目: QPieSlice::value()、QPieSlice::setValue()、およびQPieSlice::percentage()。

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

slice で指定された単一のスライスを、シリーズから取得します。スライスオブジェクトは削除されません。

注:シリーズは スライスの親オブジェクトのままとなります。完全な所有権を取得するには、親オブジェクトを設定する必要があります。

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

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

[override virtual] QAbstractSeries::SeriesType QPieSeries::type() const

プロパティ「QAbstractSeries::type 」のアクセス関数を再実装します。

系列の型を返します。

QPieSeries &QPieSeries::operator<<(QPieSlice *slice)

slice で指定されたスライスをシリーズに追加し、そのシリーズへの参照を返します。スライスの所有権はシリーズに引き継がれます。

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