【问题标题】:LeapMotion, Qt and signalsLeapMotion、Qt 和信号
【发布时间】:2013-07-04 09:00:07
【问题描述】:

我正在处理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. 我的做法是否正确,但出现了假人错误?

【问题讨论】:

    标签: c++ qt signals-slots leap-motion


    【解决方案1】:

    使用Q_OBJECT

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

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

    哦,还有,QObject must be the first inherited class

    【讨论】:

    • 我应该提到它已经在课堂上,我会编辑我的帖子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    相关资源
    最近更新 更多