我写了这段代码,但是出现了这个错误:
“'->键的左侧必须指向类/结构/联合/泛型类型”。
考虑到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
关键字。关于c++ - Qt keyPressEvent错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39878321/