QTest::keyPress未返回nativeScanCode
我使用QTest::keyPress方法模拟F1键来测试按键事件,在模拟F1键时,当我检查nativeScanCode时,它返回0值。有人能帮忙吗QTest::keyPress未返回nativeScanCode,qt,qt4,qttest,Qt,Qt4,Qttest,我使用QTest::keyPress方法模拟F1键来测试按键事件,在模拟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()
//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;
}
}
}
谢谢
帆
返回密钥事件的本机扫描代码。如果密钥事件不包含此数据,则返回0
注意:即使密钥事件包含扩展信息,本机扫描代码也可能为0
我对QT了解不多,但我假设QTest::keyPress并没有填充所有信息。
用真正的F1击键测试此事件代码可能效果更好