1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
' 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<<qt>> #e5f2da
BackgroundColor<<pg>> #e5e5f4
}
skinparam shadowing false
'----------- Qt package ----------`
class QGraphicsGridLayout <<qt>>
class QGraphicsItem <<qt>>
class QGraphicsLayout <<qt>>
class QGraphicsLayoutItem <<qt>>
class QGraphicsObject <<qt>>
class QGraphicsScene <<qt>> {
items
}
class QGraphicsWidget <<qt>>
class QGraphicsView <<qt>> {
scene
}
class QObject <<qt>>
class QPaintDevice <<qt>>
class QWidget <<qt>>
'----------- PyQtGraph package ----------`
class GraphicsItem <<pg>>
class GraphicsLayout <<pg>> {
layout
}
class GraphicsLayoutWidget <<pg>> {
graphicsLayout
}
class GraphicsObject <<pg>>
class GraphicsView <<pg>>
class GraphicsWidget <<pg>>
class ImageItem <<pg>>
class ImageView <<pg>> {
graphicsView
imageItem
scene
view
}
class PlotCurveItem <<pg>>
class PlotDataItem <<pg>> {
curve
scatter
}
class PlotItem <<pg>> {
layout
vb
}
class PlotWidget <<pg>> {
plotItem
}
class ScatterPlotItem <<pg>>
class ViewBox <<pg>>
'---------- 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
|