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 |
- 상속된 멤버를 포함한 모든 멤버 목록
- QPieSlice는 2D용Qt Graphs 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
sub_slices 목록이 비어 있으면 ` true `를 반환합니다.
[invokable] bool QPieSlice::remove(QPieSlice *slice)
slice 로 지정된 단일 하위 슬라이스를 슬라이스에서 제거하고 영구적으로 삭제합니다.
이 호출 후에는 해당 포인터를 참조할 수 없습니다.
제거에 성공하면 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.