0

我正在使用 aLeapQtMac OS X手指位置发生变化时尝试发出信号。

我正在(尝试)QObject使用以下方法来做到这一点:

class SampleListener : public Leap, public QObject{ 
     Q_Object

     class def }

moc_SampleListener但是编译后有问题:

moc_SampleListener.cpp:94:18: error: no member named 'staticMetaObject' in 'Leap::Listener'
    { &Listener::staticMetaObject, qt_meta_stringdata_PhLeap.data,
       ~~~~~~~~~~^
moc_SampleListener.cpp:111:22: error: no member named 'qt_metacast' in 'Leap::Listener'
    return Listener::qt_metacast(_clname);
           ~~~~~~~~~~^
moc_SampleListener.cpp:116:21: error: no member named 'qt_metacall' in 'Leap::Listener'
    _id = Listener::qt_metacall(_c, _id, _a);
          ~~~~~~~~~~^

所以我有两个问题:

  1. 我是否试图以错误的方式发出信号?
  2. 我是否以正确的方式做事,但有假人错误?
4

1 回答 1

3

使用Q_OBJECT

http://qt-project.org/doc/qt-5.0/qtcore/qobject.html#Q_OBJECT

Q_OBJECT 宏必须出现在声明自己的信号和槽或使用 Qt 元对象系统提供的其他服务的类定义的私有部分中。

哦,还有,QObject一定是第一个继承的类

于 2013-07-04T09:18:40.340 回答