Возможно эти различия прийдется поиметь ввиду...
точно не знаю, но думаю это связано с разными клавиатурами, класические UNIX'овые терминалы имели кнопки:
Return
Linefeed
а в IBM'ной кнопка Enter как комбинация этих двух
Следуя примерам Qt'явым лучше оба варианта задействовать.
Уже разобрался и задействовал:
if (pEvent->type() == QEvent::KeyPress) {
QKeyEvent* keyEvent = (QKeyEvent*)pEvent;
if (keyEvent){
switch(keyEvent->key()){
case Qt::Key_Escape:{
emit editComplete(false);
return true;
}
case Qt::Key_Enter: // цифровая клавиатура
case Qt::Key_Return: // основная клавиатура
{
Qt::KeyboardModifiers kbrdMod = qApp->keyboardModifiers();
if (kbrdMod & Qt::ControlModifier)
return false;
emit editComplete(true);
return true;
}
case Qt::Key_Tab:
{
emit editComplete(true);
return true;
}
default:{
break;
}
}
}
}
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)