如何在QT中检测[Shift + Tab]是否被按下

4

如何在QKeyEvent中检查SHIFT键和TAB键是否被按下?

我尝试使用以下代码:

(event->key() == Qt::Key_Tab && event->modifiers() == Qt::ShiftModifier)

然而,当按住Shift键时,event->key()并不等于Qt::Key_Tab
1个回答

12

如果event->key()以十六进制格式打印:

qDebug()<<QString("key: 0x%1").arg(event->key(), 8, 16, QChar('0'));

如果你得到了 "key: 0x01000002",那么可以在文档中查看,你会发现该键为:

Qt::Key_Backtab 0x01000002

因此,您必须使用该密钥:

if(event->key() == Qt::Key_Backtab)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接