void <Имя вашего класса>::keyPressEvent(QKeyEvent *event){ Qt::KeyboardModifiers myModifiers = event->modifiers(); if((myModifiers == Qt::ControlModifier) || (myModifiers == Qt::ShiftModifier) || (myModifiers == Qt::AltModifier)) { int state; switch(myModifiers) { case Qt::ControlModifier : state = Qt::ControlButton; break; case Qt::ShiftModifier : state = Qt::ShiftButton; break; case Qt::AltModifier : state = Qt::AltButton; break; } int key = event->key(); switch(key) { case Qt::Key_PageUp : case Qt::Key_PageDown : case Qt::Key_End : case Qt::Key_Home : KeyStat(state, key); event->ignore(); break; default : event->accept(); break; } } QString t = event->text(); if((!t.isEmpty()) && (t.at(0).isPrint())) { int s = t.at(0).toAscii(); KeyChar(s); } else { int key = event->key(); switch(key) { case Qt::Key_Left : case Qt::Key_Right : case Qt::Key_PageUp : case Qt::Key_PageDown : case Qt::Key_Insert : case Qt::Key_Delete : case Qt::Key_Backspace : case Qt::Key_Tab : case Qt::Key_Home : case Qt::Key_End : case Qt::Key_Up : case Qt::Key_Down : case Qt::Key_F1 : case Qt::Key_F2 : case Qt::Key_F3 : case Qt::Key_F4 : case Qt::Key_F5 : case Qt::Key_F6 : case Qt::Key_F7 : case Qt::Key_F8 : case Qt::Key_F9 : case Qt::Key_F10 : case Qt::Key_Enter : case Qt::Key_Return : case Qt::Key_Escape : KeyChar(key); break; default : break; } }}