Qt LEFT CTRL键码

Dip*_*Sen 6 c++ events qt ctrl keyboard-events

在Qt的QKeyEvent,我可以检查是否Ctrl被检查,如果按下ev->key()Qt::Key_Control.但是如何区分左右Ctrl键呢?

我也需要AltShift键相同的东西.

hou*_*oft 3

Qt据我所知,没有办法使用纯方法来做到这一点。

但是,根据您的平台,您也许可以使用QKeyEvent::nativeScanCode()方法而不是 来区分键QKeyEvent::key()

例如,在 Windows 上,您应该能够测试Ctrl按下了哪个键,如下所示:

if (event->nativeScanCode() == VK_LCONTROL) {
  // left control pressed
} else if (event->nativeScanCode() == VK_RCONTROL) {
  // right control pressed
}
Run Code Online (Sandbox Code Playgroud)