Qt - 当值发生变化时,QSpinBox上是否存在每个丢失焦点的信号?

时间:2013-10-23 11:05:34

标签: c++ qt qspinbox

我需要在窗口小部件失去焦点时捕获整个更改的值。

我知道我有valueChanged()和editingFinished()信号。 valueChanged()信号的问题在于它将为每个按下的键触发,而editFinished()的问题是即使它的值没有改变也会触发它。

问题是:当值发生变化时,是否可以针对每个失去焦点只是触发信号?

如果不这样做,会出现一个新问题:有没有办法在widgetFinished()中连接的插槽中获取窗口小部件的旧值,以便与当前值进行比较,并在发生值更改时做出决定?

1 个答案:

答案 0 :(得分:0)

您可以尝试扩展QSpinBox,然后重新实现focusOutEvent()
http://qt-project.org/doc/qt-5.0/qtwidgets/qwidget.html#focusOutEvent