1

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

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

问题是:是否可以在值发生变化时为每个失去焦点触发一个信号

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

4

1 回答 1

0

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

于 2013-10-23T14:49:28.880 回答