Qt では、 is かどうかを確認することで、押されたQKeyEventかどうかを確認できます。しかし、どうすれば左右のキーを区別できますか?Ctrlev->key()Qt::Key_ControlCtrl
AltとShiftキーにも同じものが必要です。
Qt では、 is かどうかを確認することで、押されたQKeyEventかどうかを確認できます。しかし、どうすれば左右のキーを区別できますか?Ctrlev->key()Qt::Key_ControlCtrl
AltとShiftキーにも同じものが必要です。
Qt私の知る限り、純粋なメソッドを使用してこれを行う方法はありません。
QKeyEvent::nativeScanCode()ただし、プラットフォームによっては、 の代わりに メソッドを使用してキーを区別できる場合がありますQKeyEvent::key()。
たとえば、Windows では、どのCtrlキーが押されたかを次のようにテストできるはずです。
if (event->nativeScanCode() == VK_LCONTROL) {
// left control pressed
} else if (event->nativeScanCode() == VK_RCONTROL) {
// right control pressed
}
VK_RCONTROLうまくいかない場合は、nativeScanCode の - の値を確認してctrlくださいright。
std::cout<<keyEvent->nativeScanCode();この値を使用します。
int control_right = 285;
if(key->nativeScanCode() == control_right){...