QT制作http上传小软件

QT制作http上传小软件

1,主界面

QT制作http上传小软件 

2,代码部分

 


  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include
  4. #include
  5. #include
  6. MainWindow::MainWindow(QWidget *parent) :
  7. QMainWindow(parent),
  8. ui(new Ui::MainWindow)
  9. {
  10. ui->setupUi(this);
  11. ui->editURL->setClearButtonEnabled(true);
  12. }
  13. MainWindow::~MainWindow()
  14. {
  15. delete ui;
  16. }
  17. void MainWindow::on_finished()
  18. {//网络响应结束
  19. QFileInfo fileInfo;
  20. fileInfo.setFile(downloadedFile->fileName());
  21. downloadedFile->close();
  22. delete downloadedFile;
  23. downloadedFile = Q_NULLPTR;
  24. reply->deleteLater(); //
  25. reply = Q_NULLPTR;
  26. if (ui->checkOpen->isChecked())//打开下载的文件
  27. QDesktopServices::openUrl(QUrl::fromLocalFile(fileInfo.absoluteFilePath()));
  28. ui->btnDownload->setEnabled(true);
  29. }
  30. void MainWindow::on_readyRead()
  31. {//读取下载的数据
  32. downloadedFile->write(reply->readAll());
  33. }
  34. void MainWindow::on_downloadProgress(qint64 bytesRead, qint64 totalBytes)
  35. {//下载进程
  36. ui->progressBar->setMaximum(totalBytes);
  37. ui->progressBar->setValue(bytesRead);
  38. }
  39. void MainWindow::on_btnDefaultPath_clicked()
  40. {//缺省路径 按钮
  41. QString curPath=QDir::currentPath();
  42. QDir dir(curPath);
  43. QString sub="temp";
  44. dir.mkdir(sub);
  45. ui->editPath->setText(curPath+"/"+sub+"/");
  46. }
  47. void MainWindow::on_btnDownload_clicked()
  48. {//开始下载 按钮
  49. QString urlSpec = ui->editURL->text().trimmed();
  50. if (urlSpec.isEmpty())
  51. {
  52. QMessageBox::information(this, u8"错误",
  53. u8"请指定需要下载的URL");
  54. return;
  55. }
  56. QUrl newUrl = QUrl::fromUserInput(urlSpec);//URL地址
  57. if (!newUrl.isValid())
  58. {
  59. QMessageBox::information(this, u8"错误",
  60. QString(u8"无效URL: %1 n 错误信息: %2").arg(urlSpec, newUrl.errorString()));
  61. return;
  62. }
  63. QString tempDir =ui->editPath->text().trimmed();//临时目录
  64. if (tempDir.isEmpty())
  65. {
  66. QMessageBox::information(this, tr("错误"), u8"请指定保存下载文件的目录");
  67. return;
  68. }
  69. QString fullFileName =tempDir+newUrl.fileName(); //文件名
  70. 来源:梁养浩

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月12日
下一篇 2022年1月12日

相关推荐