QSpinBox
上/下ボタンを使用すると、その内容が選択(強調表示)されます。これを無効にする方法はありますか?QSpinBox
基になるにアクセスするために自分のサブクラスを使用する以外に、選択をクリアする方法はありますQLineEdit
か?
質問する
4512 次
2 に答える
9
直接無効にする方法はありませんが、少しハックすることはできます。
void Window::onSpinBoxValueChanged() // slot
{
spinBox->findChild<QLineEdit*>()->deselect();
}
次のように、キュー接続を使用してこれに接続することをお勧めします。
connect(spinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged()), Qt::QueuedConnection);
これにより、行編集が強調表示された後にスロットが確実に呼び出されます。
于 2012-10-15T11:32:59.813 に答える
1
@Anthonyと同じ解決策ですが、より短いです。
connect(spinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), spinBox,
[&, spinBox](){spinBox->findChild<QLineEdit*>()->deselect();}, Qt::QueuedConnection);
于 2021-09-20T21:29:33.540 に答える