QKeyEvents im QListWidget werden blockert?

Alles rund um die Programmierung mit Qt
Antworten
Killler07
Beiträge: 1
Registriert: 28. Oktober 2009 17:58

QKeyEvents im QListWidget werden blockert?

Beitrag von Killler07 »

Hallo zusammen,

ich bastle gerade mit QT eine Oberfläche für meinen MP3-Player. Plattform ist AVR32-Embedded-Linux. Funktioniert soweit auch gut. Da ich nur Softkeys habe, habe ich mit diesen einfach die Tastenanschläge simuliert. Der Auswählen-Button simuliert die Leertaste, womit ich die Buttons anklicke.

Leider scheint das ganze im QListWidget nicht zu funktionieren. Sobald der Focus im ListWidget ist, kommt kein einziger QKeyEvent mehr an. Auch löst die Leertaste aus unerfindlichen Gründen leider auch nicht das "itemClicked"-Signal aus.

Mir stellt sich nun die Frage, wie ich nun Elemente in meiner Liste auswählen kann? Gibt es eine Möglichkeit die QKeyEvents freizugeben?

Mir stehen wie gesagt nur beliebige Tastenanschläge zur Verfügung.

Vielen Dank für eure Hilfe.

Grüsse,

Killler07
neuschi
Beiträge: 78
Registriert: 23. Mai 2007 10:59

Re: QKeyEvents im QListWidget werden blockert?

Beitrag von neuschi »

Killler07 hat geschrieben:
Mir stellt sich nun die Frage, wie ich nun Elemente in meiner Liste auswählen kann? Gibt es eine Möglichkeit die QKeyEvents freizugeben?
Kannst du nicht einfach void keyPressEvent() reimplementieren, dort auf die entsprechende Taste abfragen und dann das itemclicked-Signal schicken, wenn die Leertaste ankommt?

Code: Alles auswählen

 void keyPressEvent ( QKeyEvent * event )
    {
        if (event->key() == Qt::Key_Space)
            emit itemClicked( this->currentItem());
        else
         QListWidget::keyPressEvent(event);
      }
101
Beiträge: 72
Registriert: 16. Januar 2008 16:28

Beitrag von 101 »

Ich möchte dieses Thema noch einmal aufgreifen, weil es mich aktuell betrifft. Ich habe ein QMainWindow mit mehreren Widgets (u.a. mit einem QListWidget). Im MainWindow wird der Key Event abgefangen. Wenn nun das QListWidget den Focus bekommt, werden keine Key Events im QMainWindow mehr ausgelöst. Ich bin aber der Meinung das hat vor der Version 4.6 noch funktioniert!
Wie komme ich jetzt wieder an mein Key Event ran? :?: :?:

Kann jemand dieses Verhalten Bestätigen?
Antworten