Bonjour,
J'ai une QWebview, avec des liens en html vers des pdf en local qui s'ouvrent dans l'appli par défaut du pc, des pages html locales qui s'affichent dans la QWebview, et des liens externes s'affichant dans le navigateur par défaut.
Le soucis, c'est que quelque soit le lien, il se lance en double.
Voila le code :
Et celui qui gère les liens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); connect(ui->webView, SIGNAL(linkClicked(const QUrl)), this, SLOT(on_webView_linkClicked(const QUrl)));
Si quelqu'un peut m'expliquer le pbm svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void MainWindow::on_webView_linkClicked(const QUrl & url) { QString doc =".pdf"; QString prog =".exe"; QString web ="http://"; QString courrier ="mailto:"; if (url.toString().endsWith(doc) || (url.toString().startsWith(courrier)) || (url.toString().endsWith(prog)) || (url.toString().startsWith(web))) { QDesktopServices::openUrl(url); } else ui->webView->load(url); }
Merci d'avance,
Très cordialement,
ANDRE Ani
Partager