QWidget keyPressEvent override

Posted by eaigner on Stack Overflow See other posts from Stack Overflow or by eaigner
Published on 2010-04-28T22:56:55Z Indexed on 2010/04/28 23:27 UTC
Read the original article Hit count: 390

Filed under:
|
|
|

Hi there,

I'm trying for half an eternity now overriding QWidgets keyPressEvent function in QT but it just won't work. I've to say i am new to CPP, but I know ObjC and standard C.

My problem looks like this:

class QSGameBoard : public QWidget {
Q_OBJECT

public:
  QSGameBoard(QWidget *p, int w, int h, QGraphicsScene *s);

signals:
  void keyCaught(QKeyEvent *e);

protected:
  virtual void  keyPressEvent(QKeyEvent *event);
};

QSGameBoard is my QWidget subclass and i need to override the keyPressEvent and fire a SIGNAL on each event to notify some registered objects.

My overridden keyPressEvent in QSGameBoard.cpp looks like this:

void QSGameBoard::keyPressEvent(QKeyEvent *event) {
  printf("\nkey event in board: %i", event->key());
  //emit keyCaught(event);
}

When i change QSGameBoard:: to QWidget:: it receives the events, but i cant emit the signal because the compiler complains about the scope. And if i write it like this the function doesn't get called at all.

What's the problem here?

© Stack Overflow or respective owner

Related posts about cpp

  • encfs error while decoding the data

    as seen on Ask Ubuntu - Search for 'Ask Ubuntu'
    I have installed encfs and started using it to secure all my personal & office data and it was working absolutely fine until 2 hours back. The setup is like this. I have a folder in Copy folder called OfficeData which gets synchronized with my Copy folder When I login into the system I use… >>> More

  • Use synergy with Physical KVM

    as seen on Super User - Search for 'Super User'
    I am using synergy on a Linux Mint computer as the server with a Mac as the client. I also have a physical KVM switch. The problem I have is that when ever I switch the physical KVM to my Mac, synergy stops working as in the keyboard and mouse don't work with the Mac. Thanks in advance! EDIT:… >>> More

  • Qt Linking Error.

    as seen on Stack Overflow - Search for 'Stack Overflow'
    Hi, I configure qt-x11 with following options ./configure -prefix /iTalk/qtx11 -prefix-install -bindir /iTalk/qtx11-install/bin -libdir /iTalk/qtx11-install/lib -docdir /iTalk/qtx11-install/doc -headerdir /iTalk/qtx11-install/include -datadir /iTalk/qtx11-install/data -examplesdir /iTalk/qtx11-install/examples… >>> More

  • Compiling OpenCV in Android NDK

    as seen on Stack Overflow - Search for 'Stack Overflow'
    PLEASE SEE THE ADDITIONS AT THE BOTTOM! The first problem is solved in Linux, not under Windows and Cygwin yet, but there is a new problem. Please see below! I am currently trying to compile OpenCV for Android NDK so that I can use it in my apps. For this I tried to follow this guide: http://www… >>> More

  • A Linker Resolution Problem in a C++ Program

    as seen on Stack Overflow - Search for 'Stack Overflow'
    We have two source files, a.cpp and b.cpp and a header file named constructions.h. We define a simple C++ class with the same name (class M, for instance) in each source file, respectively. The file a.cpp looks like this: #include "iostream" #include "constructions.h" class M { int … >>> More

Related posts about virtual-functions