Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Seltsames Verhalten von QKeyPressEvent

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226

    Seltsames Verhalten von QKeyPressEvent

    Hallo Leute,

    ein Fenster meines Programms soll auf KeyEvents reagieren, macht das aber nur in bestimmten Fällen, nämlich wenn ich das Fenster neu geöffnet habe. Durch das Event soll es möglich sein, zwischen Radiobuttons hin- und herschalten zu können. Man soll also mit der einen Taste nach oben laufen können, mit der anderen nach unten.

    void MyWidget::keyPressEvent( QKeyEvent* event )
    {
    QMessageBox::information ( this, "Information", "Key", QMessageBox::Ok , 0, 0 ); // als Test, ob ich die Funktion erreiche

    int id = 0;
    id = sequenceGroup->selectedId();

    if( event->key() == Qt::Key_Prior )
    {
    id--;
    sequenceGroup->setButton( id );
    slotSetContent( id );
    }
    else if( event->key() == Qt::Key_Next )
    {
    id++;
    sequenceGroup->setButton( id );
    slotSetContent( id );
    }
    }

    Wenn ich auf irgendwas anderes im Fenster klicke, funktionieren die Tasten anschließend nicht mehr, auch wenn ich wieder den Rahmen des Fensters anklicke.

    Hat jemand eine Idee?

    Vielen Dank,
    Kirstin

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Vermutlich hat sich der Focus auf ein anderes Element verschoben.

    Versuch mal diese Event Handler Methode im Fenster zu implementieren, denn wenn keines der Kindwidgets das Event behandelt, wird es nach oben weiter gereicht.

    Aber es wundert mich etwas, daß die QButtonGroup das nicht schon selbst implementiert.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226
    Hallo anda_skoa,

    die Funktion befindet sich im Hauptfenster. Danach kommt nur noch QWorkspace.

    QButtonGroup hat so etwas Ähnliches, aber das funktioniert nur, wenn der Fokus auf der Buttongroup liegt. Außerdem bekommt man damit so hässliche Rahmen um den ausgewählten Namen ( nämlich den Rahmen vom Fokus).

    Schöne Grüße,
    Kirstin

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •