QPieSlice Class
QPieSlice クラスは、パイ・シリーズ内の 1 つのスライスを表します。詳細...
| ヘッダー: | #include <QPieSlice> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| QML内: | PieSlice |
| 継承元: | QObject |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- QPieSliceは、Qt Graphs の2D用C++クラスの一部です。
パブリック型
| 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::Outside | 0 | ラベルは、アームを介して接続されたスライスの外側に配置されます。これがデフォルト値です。 |
QPieSlice::LabelPosition::InsideHorizontal | 1 | ラベルはスライス内で中央に配置され、水平方向に配置されます。 |
QPieSlice::LabelPosition::InsideTangential | 2 | ラベルはスライス内で中央に配置され、スライスの弧の接線と平行になるように回転されます。 |
QPieSlice::LabelPosition::InsideNormal | 3 | ラベルはスライス内で中央に配置され、スライスの弧の法線と平行になるように回転されます。 |
プロパティのドキュメント
[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() |
関連項目: labelVisible 、labelFont 、およびlabelArmLengthFactor 。
labelArmLengthFactor : qreal
このプロパティは、ラベルアームの長さを指定します。この値は、円グラフの半径に対する相対値です。例えば:
- 1.0 は、長さが半径と同じであることを意味します。
- 0.5 は、長さが半径の半分であることを意味します。
デフォルトでは、アームの長さは 0.15 です。
アクセス関数:
| qreal | labelArmLengthFactor() const |
| void | setLabelArmLengthFactor(qreal factor) |
通知信号:
| void | labelArmLengthFactorChanged() |
関連項目: label 、labelVisible 、およびlabelFont 。
labelColor : QColor
このプロパティは、スライスのラベルを描画するために使用される色を指定します。
アクセス関数:
| QColor | labelColor() const |
| void | setLabelColor(QColor color) |
通知シグナル:
| void | labelColorChanged() |
labelFont : QFont
このプロパティには、ラベルのテキストを描画するために使用されるフォントが格納されます。
アクセス関数:
| QFont | labelFont() const |
| void | setLabelFont(const QFont &font) |
通知シグナル:
| void | labelFontChanged() |
関連項目: label 、labelVisible 、およびlabelArmLengthFactor 。
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() |
関連項目: label 、labelFont 、およびlabelArmLengthFactor 。
[read-only] percentage : qreal
このプロパティは、シリーズ内のすべてのスライスの合計に対する、そのスライスの割合を表します。実際の値は 0.0 から 1.0 の範囲です。スライスがシリーズに追加されると、自動的に更新されます。
アクセス関数:
| qreal | percentage() const |
通知シグナル:
| void | percentageChanged() |
関連項目: value およびQPieSeries::sum 。
[read-only] sliceChildren : QQmlListProperty<QPieSlice>
このスライスに含まれるサブスライスのリストです。これは、QMLのスライス要素内で、childrenというプロパティ名を明示的に使用することなくサブスライスを指定できるようにするデフォルトのプロパティです。
アクセス関数:
| 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)
指定されたvalue 、label 、およびparent を用いて、空のスライスを構築します。
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 を返します。
注:この関数は 、メタオブジェクトシステムおよび QML から呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable] QPieSlice *QPieSlice::append(const QString &label, qreal value)
指定されたvalue およびlabel を持つ単一のサブスライスを、スライスに追加します。サブスライスの所有権はスライスに引き継がれます。value がNaN 、Inf 、または-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)
slice で指定されたサブスライスを、index で指定された位置にあるサブスライスの直前のスライスに挿入します。サブスライスの所有権は、そのスライスに引き継がれます。
挿入に成功した場合、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)
位置index にあるPieSlice を、slice で指定されたものに置き換えます。元のPieSlice は完全に削除されます。PieSlicesのいずれかの置き換えに失敗した場合は、false を返します。
注:この関数は 、メタオブジェクトシステムおよびQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[invokable] bool QPieSlice::replaceAll(const QList<QPieSlice *> &slices)
スライス内のPieSlicesのリスト全体を、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 で指定された単一のサブスライスを取り出します。スライスオブジェクトは削除されません。
注:スライスは 引き続きそのスライスの親オブジェクトのままとなります。完全な所有権を取得するには、親オブジェクトを設定する必要があります。
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.