当前位置: 代码迷 >> QT开发 >> 信号触发 有关问题
  详细解决方案

信号触发 有关问题

热度:41   发布时间:2016-04-25 03:26:09.0
信号触发 问题
例如我在A类.h文件中自定义一个信号
signals:
    void bytesArrived(qint64,qint32,int);
并且在A类.cpp中触发了信号 
    emit bytesArrived(bytesReceived,TotalBytes,socketDescriptor);
在B类.h文件中
private slots:
    void updateProgress(qint64,qint32,int);
在B类.cpp中
    connect(&tcpServer,SIGNAL(bytesArrived(qint64,qint32,int)),
            this,SLOT(updateProgress(qint64,qint32,int)));
为什么报collect2:Ld returnd 1 exit status错啊 打开compile output显示如截图的错误

求大神解释啊


------解决方案--------------------
A类定义中有 Q_OBJECT 么?
------解决方案--------------------
相关虚函数实现了吗
------解决方案--------------------
有重新qmake么?
------解决方案--------------------
引用:
Quote: 引用:

有重新qmake么?
表示不会重写啊 


没让你重写,只是让你运行一下 qmake,真不会的话,就去修改一下你的 .pro 文件,随便添加或删除一个空行而后保存即可。
------解决方案--------------------
我也遇到过这样的问题,我是把那个TcpThread类删除掉重新再建一次,只是在写函数之前先写O_OBJECT就行了,不知道为什么行了,反正编译就通过了
------解决方案--------------------
.pro里 Qt+= 有没有加 network
------解决方案--------------------
引用:
例如我在A类.h文件中自定义一个信号
signals:
    void bytesArrived(qint64,qint32,int);
并且在A类.cpp中触发了信号 
    emit bytesArrived(bytesReceived,TotalBytes,socketDescriptor);
在B类.h文件中
private slots:
    void updateProgress(qint64,qint32,int);
在B类.cpp中
    connect(&tcpServer,SIGNAL(bytesArrived(qint64,qint32,int)),
            this,SLOT(updateProgress(qint64,qint32,int)));
为什么报collect2:Ld returnd 1 exit status错啊 打开compile output显示如截图的错误

求大神解释啊

你的tcpServer是哪啊?要写对发射源啊
  相关解决方案