Painter paths

If you want to create a graphics item that consists of multiple geometric primitives, creating multiple QGraphicsItem objects seems to be tedious. Fortunately, Qt provides a  QGraphicsPathItem class that allows you to specify a number of primitives in a QPainterPath object. QPainterPath allows you to "record" multiple painting instructions (including filling, outlining, and clipping), and then efficiently reuse them multiple times.