LeapMotion, Qt and signals

LeapMotion, Qt and signals

本文关键字:signals and Qt LeapMotion      更新时间:2023-10-16

我在Mac OS X上使用LeapQt,当手指位置发生变化时,我试图发出信号。

我正在(尝试)使用以下对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);
          ~~~~~~~~~~^

所以我有2个问题:

  1. 我是不是想用错误的方式发出信号
  2. 我做这件事的方式是正确的,但有愚蠢的错误吗

使用Q_OBJECT

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

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

哦,另外,QObject必须是第一个继承的类