我编写了一个Qt GUI,其中包含一些QSpinBoxes和QDoubleSpinBoxes等。一切都按预期工作,除了一件事:当我在QSpinBoxes中输入一个数字并按“Enter”键完成输入时,这也会激活Tab键顺序中的第一个小部件:即不是仅仅更改我的值旋转框,我也按下对话框顶部的按钮 - 我不想要。我怎样才能解决这个问题? (请注意,我需要按Enter键才能接受新值,因为旋转框的键盘跟踪已停用。)
编辑:如果有人遇到类似的问题:http://developer.qt.nokia.com/doc/qt-4.8/eventsandfilters.html
答案 0 :(得分:3)
我认为当您按Enter键时,按下QDialog
的 default button 可能会发生什么。
如果您自己继承QDialog
,那么您的QPushButton
之一已将 default property 设置为true。如果将其恢复为false,则除非处于焦点,否则按钮不会对Enter键作出反应。这里的缺点是,如果你想坚持使用默认值,按Enter键不能解除你的对话框。