이 페이지에서

QPieSlice Class

QPieSlice 클래스는 파이 계열의 단일 슬라이스를 나타냅니다. 더 보기...

Header: #include <QPieSlice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
QML에서: PieSlice
상속합니다: QObject

공용 유형

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::Outside0레이블은 암으로 연결된 슬라이스 외부에 위치합니다. 이것이 기본값입니다.
QPieSlice::LabelPosition::InsideHorizontal1레이블은 슬라이스 내에서 중앙에 위치하며 수평으로 배치됩니다.
QPieSlice::LabelPosition::InsideTangential2레이블은 슬라이스 내에서 중앙에 위치하며 슬라이스 호의 접선과 평행이 되도록 회전합니다.
QPieSlice::LabelPosition::InsideNormal3레이블은 슬라이스 내에서 중앙에 위치하며 슬라이스 호의 법선과 평행이 되도록 회전됩니다.

속성 문서

[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()

labellabelVisible참조하세요 .

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()

valueQPieSeries::sum참조하세요 .

[read-only] sliceChildren : QQmlListProperty<QPieSlice>

이 슬라이스에 포함된 하위 슬라이스의 목록입니다. 이 속성은 QML의 슬라이스 요소 내에서 하위 슬라이스를 명시적으로 자식 속성 이름을 사용하지 않고 지정할 수 있는 기본 속성입니다.

액세스 함수:

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)

지정된 valuelabel 을 가진 단일 하위 슬라이스를 슬라이스에 추가합니다. 하위 슬라이스 소유권은 슬라이스로 전달됩니다. valueNaN, 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 으로 지정된 단일 하위 슬라이스를 슬라이스에서 제거하고 영구적으로 삭제합니다.

이 호출 이후에는 포인터를 참조할 수 없습니다.

제거에 성공하면 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 까지 여러 개의 파이슬라이스를 제거합니다. 파이슬라이스는 영구적으로 삭제됩니다.

참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

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

PieSlice oldSlicenewSlice 으로 바꿉니다. oldSlice 은 영구적으로 삭제됩니다. 대체에 성공하면 true 을 반환합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

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

index 위치의 PieSliceslice 에 지정된 위치로 바꿉니다. 원본 PieSlice 은 영구적으로 삭제됩니다. 파이슬라이스를 교체하는 데 실패하면 false 을 반환합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

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

슬라이스의 전체 파이슬라이스 목록을 slices 에 지정된 목록으로 바꿉니다. 원래의 모든 파이 슬라이스는 영구적으로 삭제됩니다. 모든 파이슬라이스가 성공적으로 대체되면 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

이 슬라이스의 하위 슬라이스 수를 반환합니다.

참고: 서브슬라이스 카운트 프로퍼티에 대한 게터 함수입니다.

[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 로 지정된 단일 하위 슬라이스를 가져옵니다. 슬라이스 객체를 삭제하지 않습니다.

참고: 슬라이스는 슬라이스의 부모 객체로 유지됩니다. 전체 소유권을 가져가려면 부모 객체를 설정해야 합니다.

가져오기 작업이 성공하면 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.