PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Qt: Key Event in Widget



BlueJay
01-02-2005, 08:48
Hallo Leute,

folgendes Phänomen:
Ein Widget namens Window soll ein QKeyEvent verarbeiten:


void window::keyPressEvent(QKeyEvent* e)
{
printf("Keypress:%i\n",e->key()); emit key_pressed(e->key());
}


Das tut es auch, aber Cursor-Keys und Leertaste scheinen weggefiltert zu werden.
Ich halte das Menu für den Schuldigen.

Also bekommt es grabKeyboard. Nun kommen die Cursorkeys durch.
Tja, aber leider gehen die Shortcuts aus dem Menu nicht mehr.

Abhilfe?

so long,
BlueJay

anda_skoa
01-02-2005, 11:24
Ich denke eher, dass das Widget nicht den Fokus hat.

Ciao,
_

BlueJay
01-02-2005, 11:28
Habe jetzt einen Workaround, aber eine ziemliche Krücke:

Das (auffangende) Window kriegt bei jeder passenden oder unpassenden Gelegenheit den Focus beigebogen, dann klappt's auch mit den Cursor-Keys.

grabKeyboard gab nur Probleme!

so long,
BlueJay

BlueJay
01-02-2005, 11:49
Da haben sich die Antworten überschnitten :)

Nur es war keine Krücke, sonder die normale Vorgehensweise (yuck!)

so long,
BlueJay