除此之外,您应该使用
我写了这段代码,但是我得到了这个错误:
" '->键'的左边必须指向类/结构/联合/泛型"。
考虑到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
关键字来代替。