examples-donutbreakdown.qdoc
45 lines
| 1.7 KiB
| text/plain
|
TextLexer
Marek Rosa
|
r1714 | /*! | ||
Marek Rosa
|
r1761 | \example examples/donutbreakdown | ||
\title Donut chart breakdown example | ||||
Marek Rosa
|
r1714 | \subtitle | ||
Marek Rosa
|
r1761 | This example shows how to use create a donut breakdown chart using QPieSeries API. | ||
Jani Honkonen
|
r1909 | \image examples_donutbreakdown.png | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | Let's start by defining some data for the chart. | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | \snippet ../examples/donutbreakdown/main.cpp 1 | ||
Marek Rosa
|
r1714 | |||
Marek Rosa
|
r2012 | Then we create a chart where we add the data. Note that this is our own chart derived from QChart. | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | \snippet ../examples/donutbreakdown/main.cpp 2 | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | Our own chart works so that in the constructor we create a main series | ||
which aggregates the data provided by the breakdown series. This is the piechart in the center. | ||||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | \snippet ../examples/donutbreakdown/donutbreakdownchart.cpp 1 | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | When a breakdown series is added the data is used to create a slice in the main series and the | ||
breakdown series itself is used to create a segment of a donut positioned so that it is aligned | ||||
with the corresponding slice in the main series. | ||||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | \snippet ../examples/donutbreakdown/donutbreakdownchart.cpp 2 | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | Here's how the start and end angles for the donut segments are calculated. | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | \snippet ../examples/donutbreakdown/donutbreakdownchart.cpp 3 | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r2233 | Legend markers are customized to show the breakdown percentage and markers for the main level slices are hidden. | ||
\snippet ../examples/donutbreakdown/donutbreakdownchart.cpp 4 | ||||
Instead the main level slices show the percentage on the label. | ||||
\snippet ../examples/donutbreakdown/mainslice.cpp 1 | ||||
\snippet ../examples/donutbreakdown/mainslice.cpp 2 | ||||
Jani Honkonen
|
r1888 | And now that we have our chart defined we can finally create a QChartView and show the chart. | ||
Marek Rosa
|
r1714 | |||
Jani Honkonen
|
r1888 | \snippet ../examples/donutbreakdown/main.cpp 3 | ||
Marek Rosa
|
r1714 | |||
*/ | ||||