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

Moteurs Web Discussion :

Utilisation de QWebView *createWindow(QWebPage::Type Type)


Sujet :

Moteurs Web

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Utilisation de QWebView *createWindow(QWebPage::Type Type)
    bonjour, je post car je n'arrive malheureusement pas à utiliser la fonction PageWebNuit *createWindow(QWebPage::Type Type) dans mon programme. en effet la fonction sert à ouvrir une fenêtre pour ouvrir un lien ou un js qui demande à être ouvert dans une autre fenêtre. bref je suis bloqué...

    Voila ce que j'ai essayé de faire mais cela ne marche pas, il me détecte des erreurs dans la ligne 20 et 25:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #ifndef HEADER_FENPRINCIPALE
    #define HEADER_FENPRINCIPALE
     
    #include <QtGui>
    #include <QtWebKit>
    #include <QWidget>
     
    #include "FenOption.h"
     
    class FenOption;
     
    class PageWebNuit : public QWebView
    {
        Q_OBJECT
     
        public:
     
        protected:
     
        PageWebNuit *createWindow(QWebPage::WebBrowserWindow Type) //l20
        {
           return PageWebNuit->nouvelleFenetre(const QUrl &adresse);
        }
     
        private: //l25
     
        void PageWebNuit::nouvelleFenetre(const QUrl &adresse)
        {
            QWebView * page;
            page = createWindow(QWebPage::WebBrowserWindow);
     
            if ( page != NULL )
                {
                page->load(adresse);
                }
        }
     
     
        private:
    };
     
    //ensuite il y a ma classe principale FenPrincipale herité de QMainWindow...
    il me met l.20 error expeted ; before { token
    l.25 error expeted ; before private

    voila merci pour ceux qui m'aideront

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Effectivement ton code a quelque problème...

    le code suivant ne renvoie pas un pointeur sur une PageWebNuit et tu devrais remplacer PageWebNuit par this ou rien du tout a toi de voir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PageWebNuit->nouvelleFenetre(const QUrl &adresse);
    A toi de modifier car je sais pas trop ce que tu fais. De plus d'apres ta fonction il faut passer une reference sur un QUrl ce que tu ne fait pas.

    Pour info il sert a quoi le parametre type dans createWindow() ?

    Est ce que tu debutes avec Qt ou C++ ?
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    j'ai crus comprendre que type définissait le type de fenêtre que l'on souhaite ouvrir : WebBrowserWindow ou WebModalDialog.

    enfin bref je trouve que la doc n'est pas très clair sur la fonction de nouvelle fenêtre.

    Ensuite je cherche à faire en sorte que lorsque qu'un lien dans une page web demande à ouvrir une nouvelle page, une nouvelle page s'ouvre.

    Pour Qt ça fait un petit moment que j'ai commencé mais je peux dire que je débute encore car des fois je nage un peu .

    J'ai enlevé mon PageWebNuit et j'ai rien mis comme tu m'a conseillé mais cela ne change rien toujours les deux même erreurs que je n'arrive pas à cerner.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par umbra3 Voir le message
    Ensuite je cherche à faire en sorte que lorsque qu'un lien dans une page web demande à ouvrir une nouvelle page, une nouvelle page s'ouvre.
    Non, c'est beaucoup plus simple. Tu dois te connecter au signal linkClicked() de QWebView :
    http://qt.developpez.com/doc/4.5/qwebview/#linkclicked

    et tu recevras l'url du lien à ouvrir. Mais tu dois pour cela faire un appel à set setLinkDelegationPolicy() :
    http://qt.developpez.com/doc/4.5/qwe...ionpolicy-enum

    QWebView::createWindow() est une virtual que l'on redéfinit quand on fait une utilisation + poussée du Webkit (besoin de "personnaliser" la classe QWebView).

Discussions similaires

  1. [MySQL] Utilisation d'un champ MySQL de type TIMESTAMP
    Par identifiant_bidon dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/06/2011, 22h02
  2. Peut on utiliser Hibernate avec une BDD de type Myisam?
    Par Annsen dans le forum Hibernate
    Réponses: 19
    Dernier message: 04/05/2011, 22h58
  3. Réponses: 4
    Dernier message: 25/05/2010, 17h48
  4. utiliser un Decimal format avec un type double
    Par Mobistar dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 07/03/2008, 13h47
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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