如何防止QSpinBox自动突出显示内容

Vio*_*ffe 6 qt qt4 qspinbox

QSpinBox使用向上/向下按钮选择(突出显示)其内容.有没有办法禁用它?有没有办法清除选择,除了使用我自己的子类QSpinBox来访问底层QLineEdit

Ant*_*ony 8

没有办法直接禁用它,但你可以做一些黑客攻击:

void Window::onSpinBoxValueChanged() // slot
{
    spinBox->findChild<QLineEdit*>()->deselect();
}
Run Code Online (Sandbox Code Playgroud)

我建议使用排队连接连接到此,如下所示:

connect(spinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged()), Qt::QueuedConnection);
Run Code Online (Sandbox Code Playgroud)

这将确保在突出显示行编辑后调用插槽.