class pyqtgraph.SpinBox(parent=None, value=0.0, **kwargs)[source]

Bases: QtGui.QAbstractSpinBox

QSpinBox widget on steroids. Allows selection of numerical value, with extra features:

  • SI prefix notation (eg, automatically display “300 mV” instead of “0.003 V”)
  • Float values with linear and decimal stepping (1-9, 10-90, 100-900, etc.)
  • Option for unbounded values
  • Delayed signals (allows multiple rapid changes with only one change signal)
valueChanged(value) Same as QSpinBox; emitted every time the value has changed.
sigValueChanged(self) Emitted when value has changed, but also combines multiple rapid changes into one signal (eg, when rolling the mouse wheel).
sigValueChanging(self, value) Emitted immediately for all value changes.
__init__(parent=None, value=0.0, **kwargs)[source]
parent Sets the parent widget for this SpinBox (optional). Default is None.
value (float/int) initial value. Default is 0.0.
bounds (min,max) Minimum and maximum values allowed in the SpinBox. Either may be None to leave the value unbounded. By default, values are unbounded.
suffix (str) suffix (units) to display after the numerical value. By default, suffix is an empty str.
siPrefix (bool) If True, then an SI prefix is automatically prepended to the units and the value is scaled accordingly. For example, if value=0.003 and suffix=’V’, then the SpinBox will display “300 mV” (but a call to SpinBox.value will still return 0.003). Default is False.
step (float) The size of a single step. This is used when clicking the up/ down arrows, when rolling the mouse wheel, or when pressing keyboard arrows while the widget has keyboard focus. Note that the interpretation of this value is different when specifying the ‘dec’ argument. Default is 0.01.
dec (bool) If True, then the step value will be adjusted to match the current size of the variable (for example, a value of 15 might step in increments of 1 whereas a value of 1500 would step in increments of 100). In this case, the ‘step’ argument is interpreted relative to the current value. The most common ‘step’ values when dec=True are 0.1, 0.2, 0.5, and 1.0. Default is False.
minStep (float) When dec=True, this specifies the minimum allowable step size.
int (bool) if True, the value is forced to integer type. Default is False
decimals (int) Number of decimal values to display. Default is 2.

Edit has finished; set value.


Return value of text. Return False if text is invalid, raise exception if text is intermediate


Select the numerical portion of the text to allow quick editing by the user.


Set the number of decimals to be displayed when formatting numeric values.

setMaximum(m, update=True)[source]

Set the maximum allowed value (or None for no limit)

setMinimum(m, update=True)[source]

Set the minimum allowed value (or None for no limit)


Changes the behavior of the SpinBox. Accepts most of the arguments allowed in __init__.


Set a string prefix.

setRange(r0, r1)[source]

Set the upper and lower limits for values in the spinbox.


Set the step size used when responding to the mouse wheel, arrow buttons, or arrow keys.


Set the string suffix appended to the spinbox text.

setValue(value=None, update=True, delaySignal=False)[source]

Set the value of this spin. If the value is out of bounds, it will be clipped to the nearest boundary. If the spin is integer type, the value will be coerced to int. Returns the actual value set.

If value is None, then the current value is used (this is for resetting the value after bounds, etc. have changed)


Return the value of this SpinBox.