Qt 采取emit发射信号,编译器报出信号无法解析的外部符号
Qt采用emit发射信号,编译器报出信号无法解析的外部符号?自己编写了一个TCP类 继承了QObject 用于实现tcp连
Qt 采用emit发射信号,编译器报出信号无法解析的外部符号?
自己编写了一个TCP类 继承了QObject 用于实现tcp连接的server端, 当有一个client的连接请求到来时会在UI 类中提升信息。通过信号槽机制实现。
现在的问题是,在tcp的类中emit时会报出信号函数是无法解析的外部符号,在UI 类中已经实现了connect,信号与槽都是一个类型的参数,信号只声明没定义,槽已定义好。。。找了半天仍没有找到原因。大家帮帮我吧,,怎么整啊 ???
emit sndClientInfo(tcpSkt->peerAddress().toString());
//信号发射
connect(&server , SIGNAL(sndClientInfo(const QString &)) , this , SLOT(updateStatusBar(const QString &)));//UI类中的connect函数。
[最优解释]Q_OBJECT
[其他解释]你里面绑定的参数都是 const QString &
你传的是一个QString &
你可以先
const QString & addr = tcpSkt->peerAddress().toString();
再emit试试
[其他解释]信号 sndClientInfo 定义了吗?
[其他解释]你的H文件中有定义的信号或槽没有使用吧
[其他解释]没有啊 我看网上说信号不用定义吧 只声明就行啊。。
[其他解释]就是声明
那声明过应该可以的呀。
[其他解释]你应该是server类里面没有定义sndClientInfo信号
[其他解释]QObject::connect
[其他解释]emit sndClientInfo(tcpSkt->peerAddress().toString()); 不会是认为这个就是声明把?