По какой-либо причине не удается заставить QWenEngineProfile вызывать downloadRequest при загрузке файла с QWebEnginePage. Насколько я понимаю, это то, что когда вызывается QWebEnginePage :: download (), посылается сигнал QWebEningeProfile :: downloadRequested (), но по какой-то причине мой код не улавливает сигнал.
mainwindow.ccp
WebPageDownload *webPageDownload = new WebPageDownload(this);
webPageDownload->download("https://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NASDAQ&render=download", "file.cvs");
webpagedownload.cpp
WebPageDownload::WebPageDownload(QObject *parent){
page = new QWebEnginePage(parent);
connect(page->profile(), SIGNAL(downloadRequested(QWebEngineDownloadItem*)), this, SLOT(downloadRequested(QWebEngineDownloadItem*)));
}
void WebPageDownload::download(const QUrl &url, const QString &filename){
qDebug()<<"download called";
//this should emit QWebEngineProfile::downloadRequested
page->download(url, filename);
}
void WebPageDownload::downloadRequested(QWebEngineDownloadItem* download) {
qDebug()<<"Download request invoked";
}
webpagedownload.h
class WebPageDownload : public QObject{
Q_OBJECT
public:
WebPageDownload(QObject *parent = nullptr);
private:
QWebEnginePage *page;
private slots:
void downloadRequested(QWebEngineDownloadItem* download);
public slots:
void download(const QUrl &url, const QString &filename = QString());