Qt的QSpinBox和QDoubleSpinBox兩個控件在默認情況下是valueChanged
信號,會響應每次輸入欄的改變。
比如想要輸入數值“123”,我們會依次鍵入1 - 2 - 3,於是控件會發生三次響應。這里存在一些無效環節。
思路1
過濾valueChanged信號,使用editingFinished信號,這樣的話輸入欄只會在你按下回車或者把光標移動到別處(失去焦點)的時候發出editingFinished信號。
但會影響spinbox控件的上下按鈕發生作用。 如此一來可能需要重新實現一個類,重寫對應的事件。
思路2
setKeyboardTracking(false)