[QT4] QKeyEvent und Zahlen



  • Hallo
    ich versuche im Moment beim Drücken von Ctrl+Shift+(1-9) im keyPress-Ereigniss eine bestimmte Aktion durchführen zu lassen. Dazu habe ich diesen Code:

    if (e->modifiers ()==(Qt::CTRL |Qt::SHIFT) && e->key()>=Qt::Key_1 && e->key()<=Qt::Key_9)
    

    Allerdings fünktioniert der nicht für 2 und 6, da diese Tasten durch das Shift als @ oder AsciiCircum(?) interpretiert werden.
    Gibt es dafür eine Lösung ohne explizites Abfragen dieser Tasten (also auch ohne mehrere QAction-Objekte)?

    BeniBela



  • deine Methode ist weniger zu empfehlen, da die modifier nicht zuverlaessig genug sind (siehe assistant)

    Warning: This function cannot always be trusted. The user can confuse it by pressing both Shift keys simultaneously and releasing one of them, for example.

    die sicherste (und genau fuer sowas angelegte) Methode ist also tatsaechlich jeweils ein QAction-Objekt anzulegen



  • Mag sein, qaction-Objekte sind aber auf jeden Fall umständlicher.
    Aber das Problem hat sich sowieso erledigt, weil ich jetzt beschlossen habe, einfach eine Fremdkomponente zu nehmen.


Anmelden zum Antworten