【发布时间】:2018-02-12 01:09:39
【问题描述】:
如何检查是否按住 SHIFT 键并使用 QKeyEvent 按下 TAB 键?
我尝试过使用:
(event->key() == Qt::Key_Tab && event->modifiers() == Qt::ShiftModifier)
但是,只要按住 shift 键,event->key() 就不等于 Qt::Key_Tab。
【问题讨论】:
如何检查是否按住 SHIFT 键并使用 QKeyEvent 按下 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)
【讨论】: