Qt では、 is かどうかを確認することで、押されたQKeyEvent
かどうかを確認できます。しかし、どうすれば左右のキーを区別できますか?Ctrlev->key()
Qt::Key_Control
Ctrl
AltとShiftキーにも同じものが必要です。
Qt では、 is かどうかを確認することで、押されたQKeyEvent
かどうかを確認できます。しかし、どうすれば左右のキーを区別できますか?Ctrlev->key()
Qt::Key_Control
Ctrl
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){...