Seite 1 von 1

QKeyEvent filter für diverse QWidget

Verfasst: 11. November 2015 14:29
von ralfwickum
Ich habe mir eine Qwidget gebastelt, welches u.a. 3 QLineEdits hat: lineEdit, lineEdit_2, lineEdit_3

Für lineEdit_3 habe ich einige Pfeiltasten programmiert:

Code: Alles auswählen

void MySuperWidget::keyPressEvent(QKeyEvent* keyEv)
{
  switch (keyEv->key()) {
    case Qt::Key_Up: 
       //.. stuff
       break;

    case Qt::Key_Down:
        //.. stuff
        break;
    }
}
Funktionier soweit, jedoch reagieren auch die ersten beiden lineEdit's wenn der Fokus bei denen liegt. Ich wollt sowas einbauen wie:

Code: Alles auswählen

  if (sender() != ui->lineEdit_3 ) {
    keyEv->ignore();
  }


leider bis jetzt vergeblich. soll heißen, es wird immer ignore ausgelöst.

Wie kann ich das machen?

Re: QKeyEvent filter für diverse QWidget

Verfasst: 12. November 2015 08:45
von archer
Schau Dir mal in der Dokumentation zu QObject eventFilter(...) und installEventfilter(...) an.