zoukankan      html  css  js  c++  java
  • 多线程网络文件传输

    多线程网络文件传输

    效果

    【】sender

     

     

    void AndySender::on_pbt_selectFile_clicked()

    {

    QFileDialog fileDialog(this);

     

    //设置窗口的标题

    fileDialog.setWindowTitle("选择要发送的文件");

    fileDialog.setNameFilter("所有文件(*.*)"); //设置一个过滤器

    //这个标志用来设置选择的类型,比如默认是单个文件。QFileDialog::ExistingFiles 多个文件,还可以用来选择文件夹QFileDialog::Directory。QFileDialog::ExistingFile 单个文件。注意这个ExistingFile,单词后面多了一个s 表示选择多个文件。要看清楚了。

    fileDialog.setFileMode(QFileDialog::ExistingFiles);

    //弹出对话框

    if (fileDialog.exec() == QDialog::Accepted)

    {

     

    TaskManager *manager =TaskManager::getInstance();

    //strPathList 返回值是一个list,如果是单个文件选择的话,只要取出第一个来就行了。

    QStringList strPathList = fileDialog.selectedFiles();

    foreach(QString path , strPathList)

    {

    qDebug()<<"添加文件上传任务:"<<path;

    AndyProgressBar * progressBar =new AndyProgressBar();

    TaskRunner * runner =new TaskRunner;

    QString hostIp =ui->lineEdit->text();

    if(hostIp=="")

    {

    hostIp ="127.0.0.1";

    }

    runner->setHostIp(hostIp);

    runner->setTask(path,TaskRunner::uploadFile);

    connect(runner,SIGNAL(taskFinish(void*)),runner,SLOT(deleteLater()));

    connect(runner,SIGNAL(UpdatePercent(int)), progressBar,SLOT (on_UpdatePercent(int)));

    connect(runner,SIGNAL(UpdateMaximum(int)), progressBar,SLOT (on_UpdateMaximum(int)));

    connect(runner,SIGNAL(UpdateText(QString)), progressBar,SLOT(on_UpdateText(QString)));

     

    progressBar->SetMaxRange(100);

    progressBar->SetFileName(path.split("/").last());

    ui->vl_content->addWidget(progressBar);

    manager->addTask(runner);

    }

    }

    }

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

    【】

     

  • 相关阅读:
    茗洋ASP.NET MVC4 IN ACTION 教程目录
    C#实验室<群内活动>2013年5月12日的算法题目记录[胜者:Yamat]
    那天有个小孩跟我说LINQ(四)
    C#实验室同盟测试iframe
    C#实验室同盟测试页
    那天有个小孩跟我说LINQ(五)
    C#实验室<常用软件>Windows Live Writer
    ASP.NET MVC4 IN ACTION学习笔记第六波[Ajax in ASP.NET MVC][1/3]
    那天有个小孩跟我说LINQ(六)
    ASP.NET MVC4 IN ACTION学习笔记第四波
  • 原文地址:https://www.cnblogs.com/tangyuanjie/p/14028262.html
Copyright © 2011-2022 走看看