【发布时间】:2018-06-06 00:10:24
【问题描述】:
我已将 Client 类的插槽连接到 ClientNetwork 类的信号,但它不起作用
客户端类:
Client::Client(QString &ip, quint16 port)
{
clientNetwork = new ClientNetwork(ip,port);
connect(clientNetwork, &ClientNetwork::clientConnected, this, &Client::connected);
}
void Client::connected()
{
qDebug()<<"clientConnected signal received"; //This qDebug is not showing
}
和ClientNetwork类:
ClientNetwork::ClientNetwork(QString &hostIp, quint16 hostPort)
: port(hostPort), ip(hostIp)
{
................
...code.........
................
emit clientConnected(); // emit signal
qDebug()<<"Client::clientConnected"; // this qDebug is showing
}
为什么收不到信号?
【问题讨论】:
-
当您的
connect处于活动状态时......信号已经发出并消失了......您的连接不会捕捉到它。您需要考虑您的设计以避免这种不利的情况。
标签: c++ qt signals signals-slots