Добрый вечер. Ребята подскажите мне пожалуйста, возможно ли мне из класса унаследованного от QObject получить событие нажатия клавиши? Что-то у меня не выходит..
Вот как я делаю:
C++ (Qt)
#ifndef KEYBOARD_H
#define KEYBOARD_H
#include <QObject>
#include <QtDeclarative>
#include <QKeyEvent>
 
namespace viewer {
    class Keyboard: public QObject
    {
        Q_OBJECT
    public:
        Keyboard(QObject *parent = 0);
        ~Keyboard();
    signals:
        void Pressed        ();
        void Released       ();
 
    protected:
        bool eventFilter (QObject *, QEvent *);
    };
}
#endif // KEYBOARD_H
C++ (Qt)
#include "keyboard.h"
namespace viewer{
    Keyboard::Keyboard(QObject *parent) :
        QObject(parent)
    {
        this->installEventFilter (this);
 
    }
 
    Keyboard::~Keyboard (){
 
    }
 
    bool Keyboard::eventFilter (QObject *obj, QEvent *event){
        if (event->type() == QEvent::KeyPress)
           qDebug ()<< "это точно нужно";
      return QObject::eventFilter (obj,event);
    }
}
 
#include <QtGui/QApplication>
#include <QTextCodec>
#include "logging/logging.hpp"
#include "viewer/application.hpp"
#include "viewer/utils/keyboard.h"
using namespace viewer;
int main(int argc, char *argv[])
{
    logging::init4file("viewer");
    logging::init4console();
    QTextCodec::setCodecForCStrings( QTextCodec::codecForName("UTF-8") );
    QTextCodec::setCodecForTr( QTextCodec::codecForName("UTF-8") );
    Application app(argc, argv);
    Keyboard *key = new Keyboard();
    int ret = app.exec();
    return ret;
}
подскажите мне пожалуйста, что я делаю не так?