0

我有一个 boost 共享指针,它被传递给我的 QT 小部件,以便在更改某个变量时更新 GUI。但不知何故,我遇到了访问冲突异常 ..也许有人可以帮助我解决这个问题(请注意,kinectmanager 是不为空,我可以调用它的方法并做一些事情..)

这是发生错误的代码部分(在 CONNECT 函数中)

void MTBFWidget::setKinectHandler(KinectHandlerPtr km)
{
    kinectmanager=km;

    connect(kinectmanager.get(),SIGNAL(positionhaschanged(int)),this,SLOT(setslidervalue(int)));

}

在“MTBFWidget.h”中

class KinectHandler;
typedef boost::shared_ptr<KinectHandler> KinectHandlerPtr;
.
.
.
public slots:
    void setslidervalue(int);

在“KinectHandler.h”中

signals:
        void positionhaschanged(int value);

信号在 KinectHandler.cpp 中发出的位置:

reader.setPosition(position+3);
emit positionhaschanged(reader.getPosition());
4

0 回答 0