diff --git a/doc/images/class_diagram.png b/doc/images/class_diagram.png index 988cab94962feceb262b8be402aadafb32e99cd8..4e9abf11aed0ff515c54718cfc15412d5b514855 100644 GIT binary patch literal 23754 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 Y>R#$7;+*g6R-F}n0K1>{RmAy!0mNd>nE(I) literal 21870 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 diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc index 8af6080..00a4178 100644 --- a/doc/src/classes.qdoc +++ b/doc/src/classes.qdoc @@ -3,6 +3,8 @@ \title QtCommercial Charts API \keyword All Classes + \image class_diagram.png + Charts API is build on top of Qt Graphics View Framework. Charts can be displayed as QGraphicsWidget using QChart class. However there is also convenience class QChartView which is QWidget based. These lets quickly use QCharts as normal Qt widget. The API supports following chart types: