2 Fork me on GitHub 6

4.QT:spinbox(spindoublebox)控件的信号响应

Qt的QSpinBox和QDoubleSpinBox两个控件在默认情况下是valueChanged信号,会响应每次输入栏的改变。

比如想要输入数值“123”,我们会依次键入1 - 2 - 3,于是控件会发生三次响应。这里存在一些无效环节。

 

思路1

过滤valueChanged信号,使用editingFinished信号,这样的话输入栏只会在你按下回车或者把光标移动到别处(失去焦点)的时候发出editingFinished信号。

但会影响spinbox控件的上下按钮发生作用。 如此一来可能需要重新实现一个类,重写对应的事件。

 

思路2

setKeyboardTracking(false)

 


 

posted @ 2021-06-08 21:50  linzMYN  阅读(3881)  评论(0)    收藏  举报
-------