QT中如何检查是否按下了[Shift + Tab]
How to check if [Shift + Tab] is being pressed in QT
如何使用 QKeyEvent 检查是否按住 SHIFT 键并按下 TAB 键?
我试过使用:
(event->key() == Qt::Key_Tab && event->modifiers() == Qt::ShiftModifier)
但是,只要按住shift键,event->key()
就不等于Qt::Key_Tab
。
如果event->key()
以十六进制格式打印:
qDebug()<<QString("key: 0x%1").arg(event->key(), 8, 16, QChar('0'));
你得到了什么:"key: 0x01000002"
然后检查 docs 你会看到密钥是:
Qt::Key_Backtab 0x01000002
所以你必须使用那个密钥:
if(event->key() == Qt::Key_Backtab)
如何使用 QKeyEvent 检查是否按住 SHIFT 键并按下 TAB 键?
我试过使用:
(event->key() == Qt::Key_Tab && event->modifiers() == Qt::ShiftModifier)
但是,只要按住shift键,event->key()
就不等于Qt::Key_Tab
。
如果event->key()
以十六进制格式打印:
qDebug()<<QString("key: 0x%1").arg(event->key(), 8, 16, QChar('0'));
你得到了什么:"key: 0x01000002"
然后检查 docs 你会看到密钥是:
Qt::Key_Backtab 0x01000002
所以你必须使用那个密钥:
if(event->key() == Qt::Key_Backtab)