'Arrows can be initialized with any keyword arguments accepted by
the setStyle() method.'

def __init__(self, **opts):

    self.opts = {}
    QtGui.QGraphicsPathItem.__init__(self, opts.get('parent', None))
    if ('size' in opts):
        opts['headLen'] = opts['size']
    if ('width' in opts):
        opts['headWidth'] = opts['width']
    defaultOpts = {'pxMode': True, 'angle': (-150), 'pos': (0, 0), 'headLen': 20, 'tipAngle': 25, 'baseAngle': 0, 'tailLen': None, 'tailWidth': 3, 'pen': (200, 200, 200), 'brush': (50, 50, 200)}
    defaultOpts.update(opts)
    self.setStyle(**defaultOpts)
    self.rotate(self.opts['angle'])
    self.moveBy(*self.opts['pos'])
