In ArrowItem allow individual parameter change through setStyle call.
This commit is contained in:
parent
fe11e6c143
commit
95bddca014
@ -2,7 +2,7 @@
|
||||
"""
|
||||
Display an animated arrowhead following a curve.
|
||||
This example uses the CurveArrow class, which is a combination
|
||||
of ArrowItem and CurvePoint.
|
||||
of ArrowItem and CurvePoint.
|
||||
|
||||
To place a static arrow anywhere in a scene, use ArrowItem.
|
||||
To attach other types of item to a curve, use CurvePoint.
|
||||
@ -45,6 +45,7 @@ p.setRange(QtCore.QRectF(-20, -10, 60, 20))
|
||||
## Animated arrow following curve
|
||||
c = p2.plot(x=np.sin(np.linspace(0, 2*np.pi, 1000)), y=np.cos(np.linspace(0, 6*np.pi, 1000)))
|
||||
a = pg.CurveArrow(c)
|
||||
a.setStyle(headLen=40)
|
||||
p2.addItem(a)
|
||||
anim = a.makeAnimation(loop=-1)
|
||||
anim.start()
|
||||
|
@ -70,13 +70,16 @@ class ArrowItem(QtGui.QGraphicsPathItem):
|
||||
brush The brush used to fill the arrow.
|
||||
================= =================================================
|
||||
"""
|
||||
self.opts = opts
|
||||
try:
|
||||
self.opts.update(opts)
|
||||
except AttributeError:
|
||||
self.opts = opts
|
||||
|
||||
opt = dict([(k,self.opts[k]) for k in ['headLen', 'tipAngle', 'baseAngle', 'tailLen', 'tailWidth']])
|
||||
self.path = fn.makeArrowPath(**opt)
|
||||
self.setPath(self.path)
|
||||
|
||||
if opts['pxMode']:
|
||||
if self.opts['pxMode']:
|
||||
self.setFlags(self.flags() | self.ItemIgnoresTransformations)
|
||||
else:
|
||||
self.setFlags(self.flags() & ~self.ItemIgnoresTransformations)
|
||||
@ -121,4 +124,4 @@ class ArrowItem(QtGui.QGraphicsPathItem):
|
||||
return pad
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -112,6 +112,6 @@ class CurveArrow(CurvePoint):
|
||||
self.arrow = ArrowItem.ArrowItem(**opts)
|
||||
self.arrow.setParentItem(self)
|
||||
|
||||
def setStyle(**opts):
|
||||
def setStyle(self, **opts):
|
||||
return self.arrow.setStyle(**opts)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user