PieSeries QML Type
データを円グラフで表示します。詳細...
| Import Statement: | import QtGraphs |
| In C++: | QPieSeries |
| Inherits: |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- PieSeriesは、Qt Graphs の2D用QMLタイプの一部です。
プロパティ
- angleSpanLabelVisibility : enumeration
(since 6.10) - angleSpanVisibleLimit : real
(since 6.10) - count : int
- endAngle : real
- holeSize : real
- horizontalPosition : real
- pieSize : real
- sliceData : list<real>
(since 6.12) - sliceLabels : list<string>
(since 6.12) - startAngle : real
- sum : real
- verticalPosition : real
信号
- added(list<PieSlice> slices)
- angleSpanLabelVisibilityChanged(LabelVisibility visibility)
(since 6.10) - angleSpanVisibleLimitChanged(real limit)
(since 6.10) - clicked(PieSlice slice)
- countChanged()
- doubleClicked(PieSlice slice)
- endAngleChanged()
- holeSizeChanged()
- horizontalPositionChanged()
- pieSizeChanged()
- pressed(PieSlice slice)
- released(PieSlice slice)
- removed(list<PieSlice> slices)
- sliceDataChanged(list<real> sliceData)
(since 6.12) - sliceLabelsChanged(list<string> sliceLabels)
(since 6.12) - startAngleChanged()
- sumChanged()
- verticalPositionChanged()
方法
- 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.None | angleSpanVisibleLimit よりも角度スパンが小さいスライスのラベルはすべて非表示になります。 |
PieSeries.LabelVisibility.First | angleSpanVisibleLimit より角度スパンが小さい連続するスライスのうち、最初のラベルを除くすべてのラベルが非表示になります。これがデフォルト値です。 |
PieSeries.LabelVisibility.Even | angleSpanVisibleLimit よりも角度スパンが小さい連続するスライスのラベルのうち、2 番目から 1 つおきに非表示になります。 |
PieSeries.LabelVisibility.Odd | angleSpanVisibleLimit よりも角度スパンが小さい連続するスライスのラベルは、1 番目から数えて 1 つおきに非表示になります。 |
このプロパティは 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 は最小の pieSize です(円グラフは描画されません)。
- 1.0 は、グラフに収まる最大の pieSize です。
このプロパティを設定すると、必要に応じてholeSize プロパティが調整され、穴のサイズがパイのサイズを超えないようにします。
デフォルト値は 0.7 です。
sliceData : list<real> [since 6.12]
宣言型スライス値。
このプロパティを使用すると、円グラフのスライスに宣言的に値を指定できます。このプロパティを設定すると、pieseries は各値に対して自動的に円グラフのスライスを作成します。スライスのラベルは、sliceLabels で指定できます。
注: 宣言的データ入力と命令的データ入力を混在させることは サポートされていません。
このプロパティは Qt 6.12 で導入されました。
sliceLabelsも参照してください 。
sliceLabels : list<string> [since 6.12]
宣言型スライスラベル。
このプロパティを使用すると、円グラフのスライスに宣言的にラベルを付けることができます。このプロパティが設定されると、pieseries は宣言的に作成された円グラフのスライスにラベルを設定します。ラベルは、sliceData 内の値と同じ順序で指定する必要があります。宣言的に作成された円グラフのスライスの数が不足している場合、残りのラベルは無視されます。
注: 宣言型と命令型のデータ入力を混在させることは サポートされていません。
このプロパティは Qt 6.12 で導入されました。
sliceDataも参照してください 。
startAngle : real
円グラフの開始角度。
円グラフの全周は360度で、0度は12時の位置にあたります。
デフォルト値は0です。
sum : real [read-only]
すべてのスライスの合計。
この系列は、自身が保持するすべてのスライスの合計を管理しています。
verticalPosition : real
円グラフの垂直位置。
この値はグラフの矩形を基準とした相対値であるため、
- 0.0 は絶対的な最上部です。
- 1.0 は絶対的な最下部です。
デフォルト値は 0.5(中央)です。
horizontalPositionも参照してください 。
Signal ドキュメント
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 です。
[since 6.12] sliceDataChanged(list<real> sliceData)
このシグナルは、スライスデータが変更されたときに発火します。sliceData パラメータには、スライスデータが格納されています。
注: 対応するハンドラは onSliceDataChanged です。
このシグナルは Qt 6.12 で導入されました。
[since 6.12] sliceLabelsChanged(list<string> sliceLabels)
このシグナルは、スライスデータが変更された際に発火します。sliceLabels パラメータには、スライスデータが格納されています。
注: 対応するハンドラは onSliceLabelsChanged です。
このシグナルは Qt 6.12 で導入されました。
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)
index およびcount で指定されたスライスの範囲を削除します。この呼び出しでは、1つの削除に失敗した場合でも、すべてのスライスを順に処理します。
bool replace(list<PieSlice> slices)
現在のすべてのスライスをslices に完全に置き換えます。サイズは一致している必要はありません。slices 内のPieSlice のいずれかが無効な場合、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.