我在将按键关联到QAction
. 我正在映射Enter到这样的动作:
myAction->setShortcut(Qt::Key_Return);
问题是QAction
当我在 a 中输入一个值QSpinBox
然后按时也会触发Enter。我期待旋转框消耗事件(所以它不会被主窗口捕获)但它不是那样工作的。
我已经看到我可以为我的快捷方式添加一个上下文,我尝试了所有值,但这并不能解决我的问题。
@Matthew 它确实在拒绝该事件:
case Qt::Key_Enter:
case Qt::Key_Return:
d->edit->d_func()->control->clearUndo();
d->interpret(d->keyboardTracking ? AlwaysEmit : EmitIfChanged);
selectAll();
event->ignore();
emit editingFinished();
return;
我觉得这种行为很奇怪。