class LabelledROI(ROI):
"""
Normal ROI with a label attached.
============== =============================================================
**Arguments**
label String for the label
\**args All extra keyword arguments are passed to ROI()
============== =============================================================
"""
def __init__(self, *args, label=None, **kwargs):
ROI.__init__(self, *args, **kwargs)
if label is not None:
self.label = QtGui.QGraphicsTextItem(label, self)
self.label.setPos(QtCore.QPointF( self.boundingRect().center().x() - (self.label.boundingRect().width()/2), self.state['size'][1] ))
else:
self.label = None
def paint(self, p, opt, widget):
""" p es un objeto QPainter """
super().paint(p, opt, widget)
if self.label is not None:
self.label.setPos(QtCore.QPointF( self.boundingRect().center().x() - (self.label.boundingRect().width()/2), self.state['size'][1] ))