2012-03-01 5 views
3

TCPソケットを確立するためのコードを書いていますが、私が聞こうとしている信号をセットアップしようとするとエラーが発生します。QTcpSocketとスロットと信号でランタイムエラーが発生する

コードは次のとおりです。

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() 

私は同じ問題を抱えている他の人を見つけることができません。私はそれがちょうど私がやっていることばかげていると思っています。このプログラムの私の他の信号は働いています。

+0

シンタックスはconnect(送信側、受信側)です。逆もありません。信号が最初に来てからスロット(または他の信号)が来ます。 –

答えて

6

あなたはQObject :: connectメソッドを悪い方法で使用しています!

あなたは、このように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())); 

や詳細についてはhereを行きます。

関連する問題