0

指の位置が変わったときに信号を発しようとしてLeapQtます。Mac 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);
          ~~~~~~~~~~^

だから私は2つの質問があります:

  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 に答える