Question

QSpinBox makes its contents selected (highlighted) upon using up/down buttons. Is there any way to disable this? Is there any way to clear selection, other than use my own subclass of QSpinBox to access the underlying QLineEdit?

Was it helpful?

Solution

There's no way to directly disable it, but you can do a bit of a hack:

void Window::onSpinBoxValueChanged() // slot
{
    spinBox->findChild<QLineEdit*>()->deselect();
}

I recommend connecting to this using a queued connection, like this:

connect(spinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged()), Qt::QueuedConnection);

This will ensure that the slot is called after the line edit is highlighted.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top