如何在Qt

时间:2017-03-25 17:21:26

标签: c++ qt

我有一个头文件,我有:

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);
            ...
};

但是当我尝试构建它时,编译器会说

  

'事件'不是一种类型。

如何正确传递枚举器作为信号的类型?

1 个答案:

答案 0 :(得分:0)

这不是信号或Qt的问题。它是纯粹的C ++。

eventQGraphicsView的成员函数。因此,当您编写void sendEvent(event e);时,event不是类型而是函数。

您可以编写void sendEvent(::event e);来强制在全球范围内解析event