QT 中网络传输时显示速度的实现

以服务器端tcpServer为例
先在tcpServer.h头文件中加入#include <QTime>
然后在其私有成员中加入 QTime time;
切到tcpServer.cpp中,在服务器链接或准备发送的函数中加入
计时开始的函数time.start();
然后在你更新进度条的函数后加入下列语句,也可加在服务器建立链接的函数中
float useTime = time.elapsed();
   double speed = bytesReceived / useTime;
   ui->tcpClientStatusLabel->setText(tr("已接收 %1MB (%2MB/s) \n共%3MB 已用时:%4秒\n估计剩余时间:%5秒")
                                  .arg(bytesReceived / (1024*1024))//已接收
                                  .arg(speed*1000/(1024*1024),0,'f',2)//速度
                                  .arg(totalBytes / (1024 * 1024))//总大小
                                  .arg(useTime/1000,0,'f',0)//用时
                                  .arg(totalBytes/speed/1000 - useTime/1000,0,'f',0));//剩余时间
其中的time.elapsed()函数 返回该自上次start()或restart()被调用经过的毫秒数。
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值