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 :

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)));
Et celui qui gère les liens :
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);
      }
Si quelqu'un peut m'expliquer le pbm svp ?
Merci d'avance,
Très cordialement,

ANDRE Ani