QWebEngineProfile downloadRequested () не вызывается - PullRequest
0 голосов
/ 18 апреля 2019

По какой-либо причине не удается заставить 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());
...