【发布时间】:2012-08-13 12:12:29
【问题描述】:
我在将按键关联到 QAction 时遇到问题。我将 Enter 映射到这样的操作:
myAction->setShortcut(Qt::Key_Return);
问题是当我在QSpinBox 中键入一个值然后按Enter 时也会触发QAction。我原以为旋转框会使用该事件(因此它不会被主窗口捕获),但它不是那样工作的。
我发现我可以在快捷方式中添加上下文,我尝试了所有值,但这并不能解决我的问题。
@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;
我觉得这种行为很奇怪。
【问题讨论】:
标签: qt user-interface keyboard-shortcuts