写了一个程序
- class Mission:public QObject
- {
- Q_OBJECT
- ......
- ......
- private:
- QList<PieceThread *> pieceThreadList;
- ......
- ......
- }; //这是一个下载任务类,维护一个下载线程链表
- class PieceThread :public QThread
- {
- Q_OBJECT
- ......
- ......
- protected:
- void run();
- private:
- const quint64 beginPos; //下载起始位置
- const quint64 endPos; //下载终止位置
- quint64 workingPos; //正在写入文件的位置 (用于记录在哪里写入文件)
- QFile *file;
- QNetworkReply *reply;
- QMutex mutex;
- ......
- ......
- }; //这是下载的线程类,下载文件的一部分
头文件给的不太全,如果大哥大姐们需要详细的话我可以补上
现在的
问题是,我如何把整个Mission的
下载进度(即若干个PieceThread的进度和)获取到并返回给主程序,
(因为主程序会有若干个进度条来反映下载的情况)
小弟尝试过通过reply发送的
信号,但是感觉这个信号发送过于频繁,怕影响程序速度,求大哥大姐们给个思路!
谢谢!