QTest :: keyPress не возвращает nativeScanCode - PullRequest
1 голос
/ 10 мая 2010

Я имитирую клавишу F1, используя метод QTest :: keyPress () для проверки события нажатия клавиши, при симуляции клавиши F1, когда я проверяю nativeScanCode, он возвращает 0. может ли кто-нибудь помочь?

//Code snippet
//To simulate F1 key press
QTest::keyPress(&kboard, Qt::Key_F1);

//To check keypress Event
void keyboard::keyPressEvent(QKeyEvent* ke) {
if ( ke->type() == QEvent::KeyPress ) {
QKeyEvent* key_event = static_cast<QKeyEvent *>(ke);
//To check F1 key simulation
if (key_event->key() == Qt::Key_F1) {
    int nativeCode = key_event->nativeScanCode();
    qDebug()<< nativeCode <<endl;
}
  }
}

Спасибо,

Велс

1 Ответ

0 голосов
/ 10 мая 2010

http://doc.qt.nokia.com/4.4/qkeyevent.html#nativeScanCode

Возвращает собственный код сканирования ключевого события. Если ключевое событие не содержит этих данных, возвращается 0.

Примечание: Собственный код сканирования может быть 0, даже если ключевое событие содержит расширенную информацию.

Я не знаю много о QT, но я предполагаю, что QTest::keyPress не заполняет всю информацию. Тестирование этого кода события с помощью реального нажатия клавиши F1 может работать лучше.

...