'Set the value of this Parameter; return the actual value that was set.
(this may be different from the value that was requested)'

def setValue(self, value, blockSignal=None):

    try:
        if (blockSignal is not None):
            self.sigValueChanged.disconnect(blockSignal)
        value = self._interpretValue(value)
        if (self.opts['value'] == value):
            return value
        self.opts['value'] = value
        self.sigValueChanged.emit(self, value)
    finally:
        if (blockSignal is not None):
            self.sigValueChanged.connect(blockSignal)
    return value
