Я не уверен, что это вообще возможно, потому что события клавиатуры в том смысле, который обычно используется в Qt, доставляются в окна / виджеты базовой оконной системой ОС. Есть причина, по которой QShortcut
требуется родительский виджет.
Когда вы находитесь в терминале, вы должны явно прочитать терминал, чтобы получить ключи.
К счастью, это легко сделать. Используйте QTextStream
для чтения из stdin
в отдельном потоке и перевода интересных нажатий клавиш в сигналы или события.
Однако обратите внимание, что в консолях некоторые специальные нажатия клавиш не будут доставляться вам как есть. Конечно, от консоли многое зависит.