以服务器端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()被调用经过的毫秒数。
先在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()被调用经过的毫秒数。