Ошибка выполнения с QTcpSocket и слотами и сигналами - PullRequest
4 голосов
/ 01 марта 2012

Я пишу код для установки сокета TCP и получаю сообщение об ошибке, пытаясь настроить сигналы, которые я пытаюсь прослушать.

Код:

connection = new QTcpSocket(this);

connect(connection,SLOT(connected()),this,SIGNAL(onConnection()));
connect(connection,SLOT(readyRead()),this,SIGNAL(gotData()));
connect(connection,SLOT(disconnected()),this,SIGNAL(onConnection()));

Ошибка, которую я получаю:

 Object::connect: Attempt to bind non-signal QTcpSocket::connected()
 Object::connect: Attempt to bind non-signal QTcpSocket::readyRead()
 Object::connect: Attempt to bind non-signal QTcpSocket::disconnected()

Я не могу найти никого другого, у которого есть такая же проблема.Я думаю, что это просто глупость, которую я делаю.Мои другие сигналы в этой программе работают.

1 Ответ

6 голосов
/ 01 марта 2012

Вы используете метод QObject :: connect неправильно!

Вы должны использовать метод подключения следующим образом:

connection = new QTcpSocket(this);

connect(connection,SIGNAL(connected()),this,SLOT(onConnection()));
connect(connection,SIGNAL(readyRead()),this,SLOT(gotData()));
connect(connection,SIGNAL(disconnected()),this,SLOT(onConnection()));

и для получения дополнительной информации перейдите здесь .

...