Ya丶你也想起舞吗 2022-04-21 16:51 采纳率: 100%
浏览 792
已结题

qt5 TCP客户端 使用waitForConnected函数后,前面设置控件的代码不执行

想判断下客户端是否和服务器正常连接,使用waitForConnected判断是否连接超时,但是前面的 ui->textEdit_Recv->setText("正在连接")代码要等到 if(!socket->waitForConnected(3000))代码判断完成后才执行,这是为什么?


void MainWindow::on_pushButton_connect_clicked()
{
    if((ui->pushButton_connect->text() == tr("连接")))
    {
        ui->textEdit_Recv->setText("正在连接");
        QString IP;
        int port;
        //获取IP地址
        IP=ui->lineEdit_IP->text();
        //获取端口号
        port=ui->lineEdit_Port->text().toInt();
        //断开已有的连接
        socket->abort();
        //连接服务器
        socket->connectToHost(IP,port);

        //等待连接成功
        if(!socket->waitForConnected(3000))
        {
            qDebug() << "Connection failed!";
            return;
        }
        qDebug() << "Connect successfully!";

        //发送按键使能
        ui->pushButton_send->setEnabled(true);
        //修改按键文字
        ui->pushButton_connect->setText("断开连接");
    }


    else
    {
        //断开连接
        socket->disconnectFromHost();
        //修改按键文字
        ui->pushButton_connect->setText("连接");
        ui->pushButton_send->setEnabled(false);
    }


}
  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 5月6日
      • 已采纳回答 4月28日
      • 创建了问题 4月21日

      悬赏问题

      • ¥15 关于用matlab进行光束整形的问题
      • ¥15 vs code编译器 C语言刚学,想的有点复杂
      • ¥15 航班订票系统函数无法运行
      • ¥20 VS2022无法启动程序,如何解决?(语言-c++|开发工具-visual studio)
      • ¥15 c语言可以做出完整的吗有人看看吗
      • ¥15 电脑流氓插件处理方法
      • ¥15 问一下这个可调恒流源电路用哪个电源接口比较好,想用tapec接口仅作为电源接口这个引脚怎么连啊
      • ¥30 Abaqus做建模的时候网格没办法收敛是为什么?
      • ¥15 车牌识别摄像镜头,httppost,nodejs
      • ¥20 腾讯云托管与本地测试 GET请求获取返回值 完全不同