Gérer les événements de clavier

Fermé
Signaler
-
Bonjour,
Je voudrais gérer les événements de clavier dans une application de ligne de commande basée sur la classe QCoreApplication. J'ai essayé de réimplémenter QCoreApplication :: event (), mais mon code ne fonctionne pas
J'ai cherché sur Internet et je n'ai pas trouvé de solution. Comment gérer correctement ces événements?

#include <QCoreApplication>
#include <QtGui/QKeyEvent>

class CoreApp : public QCoreApplication
{
Q_OBJECT
public:
    explicit CoreApp(int & argc, char ** argv);
    bool event(QEvent *event);
};

CoreApp::CoreApp(int & argc, char ** argv) :
    QCoreApplication(argc,argv)
{
}

bool CoreApp::event(QEvent *event)
{
    if (event->type() == QEvent::KeyPress) {
        QKeyEvent *ke = static_cast<QKeyEvent *>(event);
        if (ke->key() == Qt::Key_Q) {
            qDebug("Quit?");
            //qApp->quit();
            return true;
        }
    }
    return QCoreApplication::event(event);
}

int main(int argc, char *argv[])
{
    CoreApp a(argc, argv);
    return a.exec();
}