如何处理下载在QWebEngine
How to handle downloads in QWebEngine?
我知道QWebEngineProfile和QWebEngineDownloadItem是用来下载东西的。但我不明白是怎么回事。我尝试使用连接来实现下载。这是我的代码
void MainWindow::handleDownloadSlot(QWebEngineDownloadItem *download) {
download->accept();
}
void MainWindow::downloadRequested(QWebEngineDownloadItem *download) {
download->accept();
}
connect (pro,SIGNAL(downloadRequested(QWebEngineDownloadItem *)),this,SLOT(handleDownloadSlot(QWebEngineDownloadItem *)));
查看Web演示浏览器示例,其中包括一个带有下载管理器的示例。
如果你正在共享一个默认的QWebEngineProfile,试试:
connect(QWebEngineProfile::defaultProfile(), SIGNAL(downloadRequested(QWebEngineDownloadItem*)),
this, SLOT(downloadRequested(QWebEngineDownloadItem*)));
对于在自定义qwebengineepage中定义的配置文件,尝试:
connect(webView->page()->profile(), SIGNAL(downloadRequested(QWebEngineDownloadItem*)),
this, SLOT(downloadRequested(QWebEngineDownloadItem*)));
现在处理你的下载开始:
void MainWindow::downloadRequested(QWebEngineDownloadItem* download) {
if (download->savePageFormat() != QWebEngineDownloadItem::UnknownSaveFormat) {
qDebug() << "Format: " << download->savePageFormat();
qDebug() << "Path: " << download->path();
// If you want to modify something like the default path or the format
download->setSavePageFormat(...);
download->setPath(...);
// Check your url to accept/reject the download
download->accept();
}
}
如果你想显示下载进度的进度对话框,只需使用类QWebEngineDownloadItem
中可用的信号:
connect(download, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(setCurrentProgress(qint64, qint64)));
相关文章:
- 下载URL中的所有文件
- VisualStudio:使用 Suse Enterprise Server 12 SP5 时,不会下载远程库标头
- 从 C++ 上的网址下载文件
- libcurl :显示正在运行的上传和下载速率
- 在 NVIDIA GEFORCE GTX 1050 上下载适用于 Windows 10 的 openCL 1.2
- 使用 libssh 从 SFTP 服务器下载文件并使用 C++ 将其写入 ofstream?
- 佳能SDK无法从相机下载图片
- 使用 Libcurl 库进行文件下载
- Mac os x app bundle 在下载并运行时崩溃,但在终端或更改 Info.plist 时运行良好
- 通过boost asio iostream下载大文件的最快方法是什么?
- 下载 GPU Mats 的矢量到主机
- 有没有办法使用 mongocxx 驱动程序从 GridFS 集合的文件下载任意范围?
- 为什么URLDownloadToFile()没有下载我的文件
- 下载到当前目录
- 顺序中止后未触发 Qt 下载进度
- 使用 Qt 下载公共保管箱文件
- WinInet只下载网页的一部分
- 视觉 无法使用 libcurl c++ 下载文件
- 如何在QWebEngine中显示下载进度
- 如何处理下载在QWebEngine