このページでは

PieSeries QML Type

データを円グラフで表示します。もっと見る...

Import Statement: import QtGraphs
In C++: QPieSeries
Inherits:

AbstractSeries

プロパティ

信号

方法

  • 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(list<PieSlice> slices)
  • bool replace(PieSlice oldSlice, PieSlice newSlice)
  • bool replace(int index, PieSlice slice)
  • bool take(PieSlice slice)

詳細説明

パイシリーズは、PieSlice 型を使用して定義されるスライスで構成されます。PieSeries型は、グラフ内のスライスの実際のサイズを決定するために、シリーズ内のすべてのスライスの合計と比較したスライスの割合を計算するので、スライスは任意の値を持つことができます。

グラフ上のパイのサイズと位置は、0.0 から 1.0 までの相対値で制御されます。これらは実際のグラフの矩形に関係する。

デフォルトでは、パイは完全なパイとして定義されています。部分円グラフは、開始角度と角度スパンを設定することで作成できます。完全な円グラフは360度で、0は12時の方向です。

次のQMLの例は簡単な円グラフの作り方を示しています。

import QtQuick
import QtGraphs

Item {
    id: mainView
    width: 1280
    height: 720

    GraphsView {
        anchors.fill: parent
        theme: GraphsTheme {
             colorScheme: GraphsTheme.ColorScheme.Dark
             theme: GraphsTheme.Theme.QtGreen
        }
        PieSeries {
            id: pieSeries
            PieSlice {
                value: 1
            }
            PieSlice {
                value: 2
            }
        }
    }
}

PieSlice およびGraphsViewも参照して ください。

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

angleSpanLabelVisibility : enumeration [since 6.10]

ラベルの表示モード。

どのラベルがangleSpanVisibleLimit で設定された角度スパン制限の下にある場合に隠されるかを決定するモード。angleSpanVisibleLimit が設定されていない場合は影響しない。

定数説明
PieSeries.LabelVisibility.NoneangleSpanVisibleLimit よりも小さい角度のスライスのラベルはすべて非表示になります。
PieSeries.LabelVisibility.FirstangleSpanVisibleLimit よりも小さい角度の連続するスライスの最初のラベルを除いた全てが非表示になります。これはデフォルト値です。
PieSeries.LabelVisibility.EvenangleSpanVisibleLimit よりも角度の小さい連続するスライスのラベルは、2 枚目からすべて非表示になります。
PieSeries.LabelVisibility.OddangleSpanVisibleLimit よりも小さい角度の連続するスライスの他のラベルは、最初のものから非表示になります。

このプロパティは Qt 6.10 で導入されました。

angleSpanVisibleLimitも参照してください

angleSpanVisibleLimit : real [since 6.10]

ラベル可視性の角度スパン制限。

スライスラベルの可視性制限として使用される角度スパン。この値以下の角度スパンを持つスライスは、シリーズに設定されたangleSpanLabelVisibility に基づいて可視性が変化する。デフォルト値は0 で、これはangleSpanLabelVisibility に関係なくスライスが非表示にならないことを意味します。

このプロパティは Qt 6.10 で導入されました。

angleSpanLabelVisibilityも参照してください

count : int [read-only]

シリーズのスライス数。

endAngle : real

パイの終了角度。

完全なパイは360度で、0度は12時の方向。

デフォルト値は360度。

holeSize : real

ドーナツの穴の大きさ。

pieSize プロパティを設定する際、必要に応じてこのプロパティが調整され、穴のサイズがパイのサイズより大きくならないようにします。

デフォルト値は0.0です。

horizontalPosition : real

パイの水平位置。

グラフの矩形からの相対値:

  • 0.0は絶対左。
  • 1.0は絶対右。

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

verticalPositionも参照

pieSize : real

パイのサイズ。

グラフの矩形に対する相対値:

  • 0.0は最小パイサイズ(パイは描画されない)。
  • 1.0はグラフに収まる最大のパイサイズ。

このプロパティを設定すると、必要に応じてholeSize プロパティが調整され、穴のサイズがパイのサイズより大きくならないようにします。

デフォルト値は0.7です。

startAngle : real

パイの開始角度。

完全なパイは360度で、0度は12時の方向。

デフォルト値は0。

sum : real [read-only]

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

このシリーズは、保持しているすべてのスライスの合計を記録する。

verticalPosition : real

パイの垂直位置。

グラフの矩形からの相対値:

  • 0.0は絶対的な一番上。
  • 1.0は絶対底辺。

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

horizontalPositionも参照

シグナル・ドキュメント

added(list<PieSlice> slices)

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

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

[since 6.10] angleSpanLabelVisibilityChanged(LabelVisibility visibility)

このシグナルは、角度スパンリミットの可視モードが変更されたときに発せられる。visibility パラメータは新しい可視モードを保持する。

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

このシグナルは Qt 6.10 で導入されました。

[since 6.10] angleSpanVisibleLimitChanged(real limit)

このシグナルは、角度スパンのリミットが変更されたときに発せられる。limit パラメータは新しいリミットを保持する。

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

このシグナルは Qt 6.10 で導入されました。

clicked(PieSlice slice)

このシグナルは、slice がクリックまたはタップされたときに発せられる。

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

countChanged()

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

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

countも参照のこと

doubleClicked(PieSlice slice)

このシグナルはslice がダブルクリックまたはダブルタップされたときに発せられる。このシグナルは常にclicked の後に発生します。

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

endAngleChanged()

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

注意: 対応するハンドラはonEndAngleChanged

endAngleも参照

holeSizeChanged()

このシグナルは、ドーナツの穴のサイズが変更されたときに発せられる。

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

holeSizeも参照のこと

horizontalPositionChanged()

このシグナルは水平位置が変化したときに発せられる。

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

horizontalPositionも参照のこと

pieSizeChanged()

このシグナルは、パイのサイズが変更されたときに発行されます。

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

pieSizeも参照

pressed(PieSlice slice)

このシグナルは、ユーザーがslice をクリックまたはタップし、マウスボタンまたはジェスチャーを押したままにすると発せられます。

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

released(PieSlice slice)

このシグナルは、ユーザーが以前に押したマウスボタンやジェスチャーをslice で離したときに発せられます。

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

removed(list<PieSlice> slices)

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

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

startAngleChanged()

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

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

startAngleも参照

sumChanged()

このシグナルは全てのスライスの合計が変化した時に発せられる。

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

sumも参照してください

verticalPositionChanged()

このシグナルは垂直位置が変化したときに発せられる。

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

verticalPositionも参照のこと

メソッド・ドキュメント

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(list<PieSlice> slices)

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

bool replace(PieSlice oldSlice, PieSlice newSlice)

oldSlice で指定されたスライスを newSlice で置き換える。削除に成功した場合はtrue を返し、そうでない場合はfalse を返します。oldSlice は、削除に成功した場合は破棄されます。

bool replace(int index, PieSlice slice)

index のパイからslice で指定されたスライスを置き換える。置換が成功した場合はtrue を返し、そうでない場合は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.