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

Discussion :

Utilisation de QWebView

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Par défaut Utilisation de QWebView
    Bonjours
    Je programme en C depuis maintenant 3 ans et en C++ depuis 1 ans
    Jusqu’à la semaine dernière je ne m'étais jamais pencher sur l'affiche en mode fenêtre et après avoir regarder toutes les possibilité je me suis orienté vers Qt
    Aujourd'hui je chercher a afficher une page web au seins d'un de mes programme
    Cette page Web peut être actualiser a tout moment il faut donc qu'elle soit lue directement depuis le web
    J'ai donc regarder dans la doc ce que Qt nous proposer et j'ai fini par trouver la classe QWebView
    J'ai donc commencer par ajouter tout bêtement cela dans mon programme pour voir ce que cela donner et j'obtient des erreurs
    Voici donc le code de mon main :
    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
    #include "mainwindow.h"
    #include <QApplication>
    #include <QtWebKitWidgets\QWebView> 
    //QwebView renvoie une erreur lors de la compilation j'ai donc chercher dans les include et j'ai trouver ce chemin qui fonctionne apparemment
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
     
        QWebView *pageweb ();
            pageweb.load (QUrl("http://localhost/index.html")); //url pour les test qui sera changer par la suite
            pageweb.show();
     
        return a.exec();
    }
    Lorsque je compile j'obtient ces erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    erreur : request for member 'load' in 'pageweb', which is of non-class type 'QWebView*()'
    erreur : request for member 'show' in 'pageweb', which is of non-class type 'QWebView*()'
    Si quelqu'un peut me venir en aide je lui en serais très reconnaissant
    Ps : mon but est actuellement de programmer un Uploader pour un serveur de jeu (je sais il y a du boulot mais j'ai tout mon temps *quoi que ...*)
    Je ne sais pas si il y a un endroit sur le forum pour demander de l'aide sur des projets comme celui la
    Juste pour éviter d'avoir 15000 topic de demande d'aide au final puisqu'il risque d'y en avoir
    D'avance merci

    Edit : Si quelqu'un a un lien vers un tuto de préférence en français qui explique l'utilisation du système de design intégré dans QtCreator je suis preneur car pour l'instant a part placer un bouton et editer ses signaux et slots je ne sais pas m'en servir

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    L'erreur est pourtant limpide, et c'est une erreur de C/C++ de base, je pense que tu vas t'en sortir

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Par défaut
    >< on dit toujours qu'un feignant a toujours deux fois plus de travail ...
    Je confirme en regardant un peu a tête reposée j'ai aperçu les parenthèses après le pageweb ... problème régler sur ce point
    Ce qui donne maintenant ca :
    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
    #include "mainwindow.h"
    #include <QApplication>
    #include <QtWebKitWidgets\QWebView> 
    //QwebView renvoie une erreur lors de la compilation j'ai donc chercher dans les include et j'ai trouver ce chemin qui fonctionne apparemment
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
     
        QWebView *pageweb;
            pageweb->load (QUrl url"http://localhost/index.html");//ligne modifiée d'après la doc
            pageweb->show();
     
        return a.exec();
    }
    Cette fois j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur : 'url' was not declared in this scope

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 257
    Par défaut prob avec url
    Il te manque une parenthèse juste après url je pense.N'oublie pas de la refermer
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Citation Envoyé par Paramore80 Voir le message
    >< on dit toujours qu'un feignant a toujours deux fois plus de travail ...
    Je confirme en regardant un peu a tête reposée j'ai aperçu les parenthèses après le pageweb ... problème régler sur ce point
    Ouhlala, pas du tout... Faut revoir les bases alors. Les parenthèses (qui ne servent à rien vu qu'il n'y a pas d'argument) marquent l'appel au constructeur.
    Le problème était que tu déclares un pointeur sur QWebView, non alloué en plus, et que tu tentes de l'utiliser comme un objet (et maintenant, comme un pointeur non alloué => plantage assuré).

    Donc reviens à ton premier code, y'a qu'une * à virer pour déclarer un objet QWebView, le reste est ok (la QUrl est créée sans nom car tu ne t'en sers pas après).

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Par défaut
    Déjà essayer d'enlever le * depuis longtemps mais cela ne change rien ...
    dans la doc on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QWebView *view = new QWebView(parent);
         view->load(QUrl("http://qt.nokia.com/"));
         view->show();
    code qui lui même ne fonctionne pas
    Lorsque je vire simplement le * j'obtient les mêmes erreurs que sur mon premier post ...

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Citation Envoyé par Paramore80 Voir le message
    Lorsque je vire simplement le * j'obtient les mêmes erreurs que sur mon premier post ...
    C'est normal : une chose qui est héritée du C, c'est que "x->" est équivalent à "(*x).". Si tu vires l'astérisque, il faut remplacer les flèches par des points.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  8. #8
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Citation Envoyé par Paramore80 Voir le message
    Déjà essayer d'enlever le * depuis longtemps mais cela ne change rien ...
    dans la doc on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QWebView *view = new QWebView(parent);
         view->load(QUrl("http://qt.nokia.com/"));
         view->show();
    code qui lui même ne fonctionne pas
    Lorsque je vire simplement le * j'obtient les mêmes erreurs que sur mon premier post ...
    Non mais les erreurs de ton premier post c'était juste des erreurs de C++ (une faute de frappe), ça ne compte pas.
    Le code fourni fonctionne évidemment. Pas tiré de son contexte bien sûr (là, tu n'as pas de parent, tu n'as pas besoin d'allouer dynamiquement mais tu peux le faire si ça te chante...).

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

Discussions similaires

  1. [Qt WebKit] [QWebView] Utilisation de Google Maps
    Par Washco dans le forum Moteurs Web
    Réponses: 0
    Dernier message: 19/10/2013, 14h15
  2. Réponses: 2
    Dernier message: 04/02/2013, 18h16
  3. [Qt WebKit] Utilisation de QWebView *createWindow(QWebPage::Type Type)
    Par umbra3 dans le forum Moteurs Web
    Réponses: 3
    Dernier message: 12/10/2009, 09h45
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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