テーブルを表示したり、データを計算したりする QWidget TableView クラスがあります...
そのコストラクタ内で、クラスの FortuneServer サーバーを起動します。
FortuneServer::FortuneServer(QObject *parent)
: QTcpServer(parent)
{
...
このクラスは、FortuneServer::incomingConnection で次のような新しいスレッドを開始します。
FortuneThread::FortuneThread(int socketDescriptor, const QString &fortune, QObject *parent)
: QThread(parent), socketDescriptor(socketDescriptor), text(fortune)
{
}
void FortuneThread::run()
{
QTcpSocket tcpSocket;
if (!tcpSocket.setSocketDescriptor(socketDescriptor)) {
emit error(tcpSocket.error());
cout<<"socket error"<<endl;
return;
}
tcpSocket.waitForReadyRead(10000);
// this where sockets opens and waits for incoming data...
私は次のことをする必要があります:
クライアントからこのスレッドで取得した文字列を、別の文字列を計算してこのスレッドに戻し、クライアントに送信する TableView クラス内の関数に接続する必要があります。
スレッドからの発行を使用する場合、スレッドに結果を待機させるにはどうすればよいですか?
これはどのように正しく行われますか?
タイ