Qt keyPressEvent Error



我写了这段代码,但是我得到了这个错误:

" '->键'的左边必须指向类/结构/联合/泛型"。

考虑到GUI是一个从QWidget类派生的类,我如何才能正确地捕获按下一个键?

void GUI::keyPressEvent(QKeyEvent *event)
{
    if (event->key()==Qt::Key_Up) {
        //do something
    }
}

keyPressEvent声明如下:

protected:    
    virtual void keyPressEvent(QKeyEvent *event);

你必须包含

#include <QKeyEvent>

那么它应该能正常工作。


除此之外,您应该使用Q_DECL_OVERRIDE宏,如:
protected:    
    virtual void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE;

正如@KubaOber提到的,如果你使用的c++编译器默认支持>= c++ 11,或者你用CONFIG += c++11激活它,那么你可以使用override关键字来代替。

相关内容

  • 没有找到相关文章

最新更新