не может обработать QKeyEvent в Qt C ++ при нажатии цифровых и цифровых клавиш

Я хочу сделать некоторые конкретные вещи, когда пользователь нажимает клавишу клавиатуры. Для этого у меня есть следующий код в моей программе, которая использует 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";
}
}

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

0

Решение

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]