' Made in PlantUml. You can try it out here: http://plantuml.com/plantuml ' Based on commit eb7a60fcf83cd4e7a41ae5955e57935e39928fbd @startuml hide empty members hide circles hide stereotypes skinparam class { BorderColor Black ArrowColor Black ' Using stereotypes to define the background colors BackgroundColor<> #e5f2da BackgroundColor<> #e5e5f4 } skinparam shadowing false '----------- Qt package ----------` class QGraphicsGridLayout <> class QGraphicsItem <> class QGraphicsLayout <> class QGraphicsLayoutItem <> class QGraphicsObject <> class QGraphicsScene <> { items } class QGraphicsWidget <> class QGraphicsView <> { scene } class QObject <> class QPaintDevice <> class QWidget <> '----------- PyQtGraph package ----------` class GraphicsItem <> class GraphicsLayout <> { layout } class GraphicsLayoutWidget <> { graphicsLayout } class GraphicsObject <> class GraphicsView <> class GraphicsWidget <> class ImageItem <> class ImageView <> { graphicsView imageItem scene view } class PlotCurveItem <> class PlotDataItem <> { curve scatter } class PlotItem <> { layout vb } class PlotWidget <> { plotItem } class ScatterPlotItem <> class ViewBox <> '---------- Inheritance within Qt ----------' QObject <|-- QGraphicsObject QGraphicsItem <|-- QGraphicsObject QGraphicsObject <|-- QGraphicsWidget QGraphicsLayoutItem <|-- QGraphicsWidget QGraphicsLayoutItem <|-- QGraphicsLayout QGraphicsLayout <|-- QGraphicsGridLayout QPaintDevice <|-- QWidget QObject <|-- QWidget QObject <|-- QGraphicsScene QWidget <|-- QGraphicsView '---------- Inheritance from Qt to PyQtGraph ----------' QGraphicsWidget <|-- GraphicsWidget QGraphicsObject <|-- GraphicsObject QGraphicsView <|-- GraphicsView QWidget <|-- ImageView '---------- Inheritance within PyQtGraph ----------' GraphicsItem <|-- GraphicsObject GraphicsItem <|-- GraphicsWidget GraphicsWidget <|-- GraphicsLayout GraphicsWidget <|-- PlotItem GraphicsWidget <|-- ViewBox GraphicsObject <|-- ScatterPlotItem GraphicsObject <|-- PlotCurveItem GraphicsObject <|-- ImageItem GraphicsObject <|-- PlotDataItem GraphicsView <|-- PlotWidget GraphicsView <|-- GraphicsLayoutWidget '---------- Aggregation ----------' ' Shorter arrow so at same height in the diagram QGraphicsScene::items o- QGraphicsItem #b8b8b8 QGraphicsView::scene o- QGraphicsScene #b8b8b8 ' Longer (regular) arrows PlotWidget::plotItem o-- PlotItem #b8b8b8 GraphicsLayoutWidget::graphicsLayout o-- GraphicsLayout #b8b8b8 PlotDataItem::curve o-- PlotCurveItem #b8b8b8 PlotDataItem::scatter o-- ScatterPlotItem #b8b8b8 PlotItem::vb o-- ViewBox #b8b8b8 PlotItem::layout o-- QGraphicsGridLayout #b8b8b8 GraphicsLayout::layout o-- QGraphicsGridLayout #b8b8b8 ImageView::graphicsView o-- GraphicsView #b8b8b8 ImageView::imageItem o-- ImageItem #b8b8b8 ImageView::scene o-- QGraphicsScene #b8b8b8 ImageView::view o-- ViewBox #b8b8b8 @enduml