The answer is pretty simple -- there is no point interpreting any values before the value is actually needed. And it is needed for the first time when you show the widget, so when the widget gets shown, the value stored in the widget gets set as the text of the line edit. If you want to customize some value then either reimplement QDoubleSpinBox::textFromValue() or use QAbstractSpinBox::specialValueText property.