QKeyEvent filter für diverse QWidget

Verschiedenes zu Qt
Antworten
ralfwickum
Beiträge: 20
Registriert: 25. August 2015 13:29

QKeyEvent filter für diverse QWidget

Beitrag 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?
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Re: QKeyEvent filter für diverse QWidget

Beitrag von archer »

Schau Dir mal in der Dokumentation zu QObject eventFilter(...) und installEventfilter(...) an.
Antworten