IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

[QWebView] tous les liens s'ouvrent en double


Sujet :

Qt

  1. #1
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut [QWebView] tous les liens s'ouvrent en double
    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

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 47
    Points : 71
    Points
    71
    Par défaut
    Bonjour,

    Le format du nom "on_webView_linkClicked" allié au fait que vous utilisez une interface générée fait que ce slot est déjà connecté au signal linkClicked de l'objet "webView" automatiquement à cause de l'appel à "QMetaObject::connectSlotsByName" dans le fichier ui_xxx.h généré, or 2 connexions du même signal au même slot résultent en 2 appels de ce slot pour un seul signal émis.

  3. #3
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Bonjour,

    Effectivement, le on_webview_linkcliked n'était pas nécessaire, et tout fonctionne correctement maintenant.

    Merci beaucoup ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Récupérer tous les liens d'une page
    Par micatmidog dans le forum Langage
    Réponses: 13
    Dernier message: 03/11/2006, 01h37
  2. [Mail] Récupérer tous les liens et les titres d'une page
    Par dragon noir dans le forum Langage
    Réponses: 12
    Dernier message: 03/07/2006, 16h09
  3. [Sybase 12.5]Trouver tous les liens d'une clé
    Par Neo41 dans le forum Sybase
    Réponses: 1
    Dernier message: 12/04/2006, 11h37
  4. [RegEx] récupérer tous les liens d'une page
    Par italiasky dans le forum Langage
    Réponses: 15
    Dernier message: 08/04/2006, 18h55
  5. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/01/2006, 23h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo