key' must point to class/struct/union/generic type". 考虑到 GUI 是从 QWid-6ren">
gpt4 book ai didi

c++ - Qt keyPressEvent 错误

转载 作者:行者123 更新时间:2023-11-28 05:29:21 24 4
gpt4 key购买 nike

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

"left of '->key' must point to class/struct/union/generic type".

考虑到 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++11 的 C++ 编译器,或者您使用 CONFIG += c++11 激活它,那么你可以使用 override改为关键字。

关于c++ - Qt keyPressEvent 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39878321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com