我有一个头文件,我有:
enum event {UP, DOWN, LEFT, RIGHT, ACTION };
我有Q_OBJECT类,我想传递事件类型"事件"作为信号参数。
class GameView : public QGraphicsView {
Q_OBJECT
public:
GameView(QWidget* parent, GameModel *m);
...
signals:
void sendEvent(event e);
...
};
但是当我尝试构建它时,编译器会说
'事件'不是一种类型。
如何正确传递枚举器作为信号的类型?
答案 0 :(得分:0)
这不是信号或Qt的问题。它是纯粹的C ++。
event
是QGraphicsView
的成员函数。因此,当您编写void sendEvent(event e);
时,event
不是类型而是函数。
您可以编写void sendEvent(::event e);
来强制在全球范围内解析event
。