не может обработать QKeyEvent в Qt C ++ при нажатии цифровых и цифровых клавиш - PullRequest
0 голосов
/ 08 мая 2018

Я хочу сделать некоторые конкретные вещи, когда пользователь нажимает клавишу клавиатуры. Для этого в моей программе есть следующий код, который использует qt и C ++: -

//reimplemented keyPressEvent
// MyWindow inherits from QWidgets 
void MyWindow::keyPressEvent(QKeyEvent *e)
{
        if(e->key()== Qt::Key_3)
        {
              //do something
                QApplication::exit(1);
                std::cout << " presses\n";
        }
}

но эта доза кода не работает. Но этот код работает: -

void MyWindow::keyPressEvent(QKeyEvent *e)
{
        if(e->key()== Qt::Key_Escape)
        {
                QApplication::exit(1);
                std::cout << " presses\n";
        }
 }

Почему это так?

1 Ответ

0 голосов
/ 08 мая 2018

Добавьте qDebug() << e->key() в начало метода и посмотрите, что именно вы получаете :). Скорее всего, окно не получает события, но в данный момент фокусируется виджет.

...