1

QTest::keyPress() メソッドを使用して F1 キーをシミュレートし、キープレス イベントをテストしています。nativeScanCode をチェックするときに F1 キーをシミュレートすると、値 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;
}
  }
}

ありがとう、

ヴェルス

4

1 に答える 1

0

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

キー イベントのネイティブ スキャン コードを返します。キー イベントにこのデータが含まれていない場合は、0 が返されます。

注:キー イベントに拡張情報が含まれていても、ネイティブ スキャン コードは 0 の場合があります。

私は QT についてあまり知りませんが、QTest::keyPressそれですべての情報が満たされるわけではないと思います。このイベント コードを実際の F1 キーストロークでテストすると、うまくいく可能性があります。

于 2010-05-10T08:40:11.787 に答える