分享

QT笔记之“发射信号的问题 undefined reference”错误

 Runs丶SS11 2016-03-18
QT 中 其他类的信号发射到UI主线程出现“ undefined reference”错误
class loadkeyServer
{      

      public:
               loadkeyServer();
   ....................
 

signals:
    void updateMsgSignal(QString Msg);
}


首先这个代码定义了信号,但是并没有使用Q_OBJECT这个宏。
因为如果你代码有这个宏,Qt是要在编译之前先额外处理一下,就是生成的MOC_xxxx.cpp这种东西。实际上,信号的实现应该在那里。如果你没有这个处理的话,没有这个文件,信号的函数自然是未定义的。

使用QT create 重新定义类,继承QObject, 自动生成类构造函数跟Q_OBJECT这个宏
class loadkeyServer : public QObject
{
    Q_OBJECT
public:
    explicit loadkeyServer(QObject *parent = 0);

   ....................
 

signals: void updateMsgSignal(QString Msg);
}


注:explicit主要用于 "修饰 "构造函数.指明构造函数只能显示使用,目的是为了防止不必要的隐式转化.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多