使用键盘将数据输入Qt GUI:按Enter键时出现意外的副作用

时间:2012-01-13 16:17:43

标签: c++ qt

我编写了一个Qt GUI,其中包含一些QSpinBoxes和QDoubleSpinBoxes等。一切都按预期工作,除了一件事:当我在QSpinBoxes中输入一个数字并按“Enter”键完成输入时,这也会激活Tab键顺序中的第一个小部件:即不是仅仅更改我的值旋转框,我也按下对话框顶部的按钮 - 我不想要。我怎样才能解决这个问题? (请注意,我需要按Enter键才能接受新值,因为旋转框的键盘跟踪已停用。)

编辑:如果有人遇到类似的问题:http://developer.qt.nokia.com/doc/qt-4.8/eventsandfilters.html

1 个答案:

答案 0 :(得分:3)

我认为当您按Enter键时,按下QDialog default button 可能会发生什么。

如果您自己继承QDialog,那么您的QPushButton之一已将 default property 设置为true。如果将其恢复为false,则除非处于焦点,否则按钮不会对Enter键作出反应。这里的缺点是,如果你想坚持使用默认值,按Enter键不能解除你的对话框。