Я не совсем уверен, что вы имеете в виду автоматически. Я предполагаю, что вы просто пытаетесь избежать ручной проверки ключа, что, к сожалению, я не уверен ни в каком более простом методе.
Поймать QKeyEvent* event
, как вы делаете, обычно такидти, и да, к сожалению, когда у вас есть событие, вам нужно убедиться, что оно ожидается. Вы можете сделать код менее уродливым, используя битовую маску или аналогичные логические операции, но в целом я использовал switch
на event->key()
, и это делает вещи более читабельными.