QPieSlice Class

The QPieSlice class represents a single slice in a pie series. 更多...

头: #include <QPieSlice>
实例化: PieSlice
继承: QObject

公共类型

enum LabelPosition { LabelOutside, LabelInsideHorizontal, LabelInsideTangential, LabelInsideNormal }

特性

公共函数

  QPieSlice (QString label , qreal value , QObject * parent = nullptr)
  QPieSlice (QObject * parent = nullptr)
virtual ~QPieSlice ()
qreal angleSpan () const
QColor borderColor ()
int borderWidth ()
QBrush brush () const
QColor color ()
qreal explodeDistanceFactor () const
bool isExploded () const
bool isLabelVisible () const
QString label () const
qreal labelArmLengthFactor () const
QBrush labelBrush () const
QColor labelColor ()
QFont labelFont () const
QPieSlice::LabelPosition labelPosition ()
QPen pen () const
qreal percentage () const
QPieSeries * series () const
void setBorderColor (QColor color )
void setBorderWidth (int width )
void setBrush (const QBrush & brush )
void setColor (QColor color )
void setExplodeDistanceFactor (qreal factor )
void setExploded (bool exploded = true)
void setLabel (QString label )
void setLabelArmLengthFactor (qreal factor )
void setLabelBrush (const QBrush & brush )
void setLabelColor (QColor color )
void setLabelFont (const QFont & font )
void setLabelPosition (QPieSlice::LabelPosition position )
void setLabelVisible (bool visible = true)
void setPen (const QPen & pen )
void setValue (qreal value )
qreal startAngle () const
qreal value () const

信号

void angleSpanChanged ()
void borderColorChanged ()
void borderWidthChanged ()
void brushChanged ()
void clicked ()
void colorChanged ()
void doubleClicked ()
void hovered (bool state )
void labelBrushChanged ()
void labelChanged ()
void labelColorChanged ()
void labelFontChanged ()
void labelVisibleChanged ()
void penChanged ()
void percentageChanged ()
void pressed ()
void released ()
void startAngleChanged ()
void valueChanged ()

详细描述

A pie slice has a value and a label. When the slice is added to a pie series, the QPieSeries object calculates the percentage of the slice compared with the sum of all slices in the series to determine the actual size of the slice in the chart.

By default, the label is hidden. If it is visible, it can be either located outside the slice and connected to it with an arm or centered inside the slice either horizontally or in parallel with the tangential or normal of the slice's arc.

By default, the visual appearance of the slice is set by a theme, but the theme can be overridden by specifying slice properties. However, if the theme is changed after the slices are customized, all customization will be lost.

To enable user interaction with the pie chart, some basic signals are emitted when users click pie slices or hover the mouse over them.

另请参阅 QPieSeries .

成员类型文档编制

enum QPieSlice:: LabelPosition

This enum describes the position of the slice label.

常量 描述
QPieSlice::LabelOutside 0 The label is located outside the slice connected to it with an arm. This is the default value.
QPieSlice::LabelInsideHorizontal 1 The label is centered within the slice and laid out horizontally.
QPieSlice::LabelInsideTangential 2 The label is centered within the slice and rotated to be parallel with the tangential of the slice's arc.
QPieSlice::LabelInsideNormal 3 The label is centered within the slice and rotated to be parallel with the normal of the slice's arc.

特性文档编制

[read-only] angleSpan : const qreal

This property holds the span of the slice in degrees. A full pie is 360 degrees, where 0 degrees is at 12 a'clock. Updated automatically once the slice is added to the series.

访问函数:

qreal angleSpan () const

通知程序信号:

void angleSpanChanged ()

borderColor : QColor

This property holds the color used to draw the slice border. This is a convenience property for modifying the slice pen.

访问函数:

QColor borderColor ()
void setBorderColor (QColor color )

通知程序信号:

void borderColorChanged ()

另请参阅 pen and borderWidth .

borderWidth : int

This property holds the width of the slice border. This is a convenience property for modifying the slice pen.

访问函数:

int borderWidth ()
void setBorderWidth (int width )

通知程序信号:

void borderWidthChanged ()

另请参阅 pen and borderColor .

brush : QBrush

This property holds the brush used to fill the slice.

访问函数:

QBrush brush () const
void setBrush (const QBrush & brush )

通知程序信号:

void brushChanged ()

color : QColor

This property holds the fill (brush) color of the slice. This is a convenience property for modifying the slice brush.

访问函数:

QColor color ()
void setColor (QColor color )

通知程序信号:

void colorChanged ()

另请参阅 brush .

explodeDistanceFactor : qreal

Determines how far away from the pie the slice is exploded.

  • 1.0 means that the distance is the same as the radius.
  • 0.5 means that the distance is half of the radius.

By default, the distance is 0.15

访问函数:

qreal explodeDistanceFactor () const
void setExplodeDistanceFactor (qreal factor )

另请参阅 exploded .

exploded : bool

This property holds whether the slice is separated from the pie.

访问函数:

bool isExploded () const
void setExploded (bool exploded = true)

另请参阅 explodeDistanceFactor .

label : QString

This property holds the label of the slice.

访问函数:

QString label () const
void setLabel (QString label )

通知程序信号:

void labelChanged ()

另请参阅 labelVisible , labelBrush , labelFont ,和 labelArmLengthFactor .

labelArmLengthFactor : qreal

This property holds the length of the label arm. The factor is relative to the pie radius. For example:

  • 1.0 means that the length is the same as the radius.
  • 0.5 means that the length is half of the radius.

By default, the arm length is 0.15

访问函数:

qreal labelArmLengthFactor () const
void setLabelArmLengthFactor (qreal factor )

另请参阅 label , labelVisible , labelBrush ,和 labelFont .

labelBrush : QBrush

This property holds the brush used to draw the label and label arm of the slice.

访问函数:

QBrush labelBrush () const
void setLabelBrush (const QBrush & brush )

通知程序信号:

void labelBrushChanged ()

另请参阅 label , labelVisible , labelFont ,和 labelArmLengthFactor .

labelColor : QColor

This property holds the color used to draw the slice label. This is a convenience property for modifying the slice label brush.

访问函数:

QColor labelColor ()
void setLabelColor (QColor color )

通知程序信号:

void labelColorChanged ()

另请参阅 labelBrush .

labelFont : QFont

This property holds the font used for drawing the label text.

访问函数:

QFont labelFont () const
void setLabelFont (const QFont & font )

通知程序信号:

void labelFontChanged ()

另请参阅 label , labelVisible ,和 labelArmLengthFactor .

labelPosition : LabelPosition

This property holds the position of the slice label.

访问函数:

QPieSlice::LabelPosition labelPosition ()
void setLabelPosition (QPieSlice::LabelPosition position )

另请参阅 label and labelVisible .

labelVisible : bool

This property holds the visibility of the slice label. By default, the label is not visible.

访问函数:

bool isLabelVisible () const
void setLabelVisible (bool visible = true)

通知程序信号:

void labelVisibleChanged ()

另请参阅 label , labelBrush , labelFont ,和 labelArmLengthFactor .

pen : QPen

This property holds the pen used to draw the slice border.

访问函数:

QPen pen () const
void setPen (const QPen & pen )

通知程序信号:

void penChanged ()

[read-only] percentage : const qreal

This property holds the percentage of the slice compared to the sum of all slices in the series. The actual value ranges from 0.0 to 1.0. Updated automatically once the slice is added to the series.

访问函数:

qreal percentage () const

通知程序信号:

void percentageChanged ()

另请参阅 value and QPieSeries::sum .

[read-only] startAngle : const qreal

This property holds the starting angle of this slice in the series it belongs to. A full pie is 360 degrees, where 0 degrees is at 12 a'clock. Updated automatically once the slice is added to the series.

访问函数:

qreal startAngle () const

通知程序信号:

void startAngleChanged ()

value : qreal

This property holds the value of the slice.

注意: A negative value is converted to a positive value.

访问函数:

qreal value () const
void setValue (qreal value )

通知程序信号:

void valueChanged ()

另请参阅 percentage () 和 QPieSeries::sum ().

成员函数文档编制

QPieSlice:: QPieSlice ( QString label , qreal value , QObject * parent = nullptr)

Constructs an empty slice with the specified value , label ,和 parent .

另请参阅 QPieSeries::append () 和 QPieSeries::insert ().

QPieSlice:: QPieSlice ( QObject * parent = nullptr)

Constructs an empty slice with the parent parent .

另请参阅 QPieSeries::append () 和 QPieSeries::insert ().

[signal] void QPieSlice:: angleSpanChanged ()

This signal is emitted when the angle span of the slice changes.

注意: 通知程序信号对于特性 angleSpan .

另请参阅 angleSpan .

[signal] void QPieSlice:: borderColorChanged ()

This signal is emitted when the slice border color changes.

注意: 通知程序信号对于特性 borderColor .

另请参阅 pen and borderColor .

[signal] void QPieSlice:: borderWidthChanged ()

This signal is emitted when the slice border width changes.

注意: 通知程序信号对于特性 borderWidth .

另请参阅 pen and borderWidth .

[signal] void QPieSlice:: brushChanged ()

This signal is emitted when the brush used to fill the slice changes.

注意: 通知程序信号对于特性 brush .

另请参阅 brush .

[signal] void QPieSlice:: clicked ()

This signal is emitted when the slice is clicked.

另请参阅 QPieSeries::clicked ().

[signal] void QPieSlice:: colorChanged ()

This signal is emitted when the slice color changes.

注意: 通知程序信号对于特性 color .

另请参阅 brush .

[signal] void QPieSlice:: doubleClicked ()

This signal is emitted when user double-clicks the slice.

另请参阅 QPieSeries::doubleClicked ().

[signal] void QPieSlice:: hovered ( bool state )

This signal is emitted when a mouse is hovered over the slice. When the mouse moves over the slice, state turns true , and when the mouse moves away again, it turns false .

另请参阅 QPieSeries::hovered ().

[signal] void QPieSlice:: labelBrushChanged ()

This signal is emitted when the label brush of the slice changes.

注意: 通知程序信号对于特性 labelBrush .

另请参阅 labelBrush .

[signal] void QPieSlice:: labelChanged ()

This signal is emitted when the slice label changes.

注意: 通知程序信号对于特性 label .

另请参阅 label .

[signal] void QPieSlice:: labelColorChanged ()

This signal is emitted when the slice label color changes.

注意: 通知程序信号对于特性 labelColor .

另请参阅 labelColor .

[signal] void QPieSlice:: labelFontChanged ()

This signal is emitted when the label font of the slice changes.

注意: 通知程序信号对于特性 labelFont .

另请参阅 labelFont .

[signal] void QPieSlice:: labelVisibleChanged ()

This signal is emitted when the visibility of the slice label changes.

注意: 通知程序信号对于特性 labelVisible .

另请参阅 labelVisible .

[signal] void QPieSlice:: penChanged ()

This signal is emitted when the pen used to draw the slice border changes.

注意: 通知程序信号对于特性 pen .

另请参阅 pen .

[signal] void QPieSlice:: percentageChanged ()

This signal is emitted when the percentage of the slice changes.

注意: 通知程序信号对于特性 percentage .

另请参阅 percentage .

[signal] void QPieSlice:: pressed ()

This signal is emitted when the user clicks the slice and holds down the mouse button.

另请参阅 QPieSeries::pressed ().

[signal] void QPieSlice:: released ()

This signal is emitted when the user releases the mouse press on the slice.

另请参阅 QPieSeries::released ().

[signal] void QPieSlice:: startAngleChanged ()

This signal is emitted when the starting angle of the slice changes.

注意: 通知程序信号对于特性 startAngle .

另请参阅 startAngle .

[signal] void QPieSlice:: valueChanged ()

This signal is emitted when the slice value changes.

注意: 通知程序信号对于特性 value .

另请参阅 value .

[虚拟] QPieSlice:: ~QPieSlice ()

Removes the slice. The slice should not be removed if it has been added to a series.

QPieSeries *QPieSlice:: series () const

Returns the series that this slice belongs to.

另请参阅 QPieSeries::append ().