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 :

[Réseau] classe QHttp QNetwork


Sujet :

Qt

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [Réseau] classe QHttp QNetwork
    Bonjour à tous je suis un débutant dans la programmation QT4 et je réalise un petit projet permettant de savoir s'il existe un fichier sur un serveur distant (autrement dit de savoir si le programme à accès à internet).

    J'essaye d'utiliser la méthode setHost mais j'obtien un message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    form.cpp:25: error: cannot call member function `int QHttp::setHost(const QString&, quint16)' without object
    form.cpp :

    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
     
    #include "form.h"
    #include <QWidget>
    #include <QApplication>
    #include <QtGui>
     
     
    MyWidget::MyWidget(QWidget *parent)
        : QWidget(parent)
    {
        ui.setupUi(this);
    	ui.progressBar->hide();
    	connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(clickMe()));
    }
     
    void MyWidget::clickMe()
    {
    	ui.progressBar->show();
    	ui.label_4->setText("Test de connectivité");
    	test();
    }
     
    int test()
    {
    	QUrl url("http://www.google.fr/index.html");
    	int test = QHttp::setHost(url.host(), 80);
    	return test;
    }
    et form.h :

    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
     
    #include "ui_form1.h"
    #include <QHttp>
     
    class MyWidget : public QWidget
    {
        Q_OBJECT
     
    public:
        MyWidget(QWidget *parent = 0);
     
    private:
        Ui::MyWidget ui;
     
    public slots:
    	void clickMe();
     
    public:
    	int test();
    };
     
    class http : public QWidget
    {
    	Q_OBJECT
     
    private:
    	QHttp * http;
    	QString *url;
    };
    Sa fait 2 jours que je regarde les exemples de chez trolltech et potasse google et mon bouquin de qt4 mais je n'arrive pas à comprendre comment fonctionne le système QHttp. Si quelqu'un peut me venir en aide, je désespère !

  2. #2
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    setHost n'est pas une fonction statique, donc il faut créer un objet avant.

    Je verrais un truc comme ça :
    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
    void test()
    {
            connect(http, SIGNAL(done(bool)), this, SLOT(finTest(bool)));
            http.setHost("www.google.fr");
            http->get("/index.html");
    }
     
    void finTest(bool error)
    {
           if(error)
           {
           //erreur lors de la requete
           }
           else
           {
           //on atteint google
           }
    }
    Evidemment il faut mettre déclarer : QHttp http; dans le header.

Discussions similaires

  1. Réseau locale dans une salle de classe
    Par khomsa.elearning dans le forum Développement
    Réponses: 1
    Dernier message: 13/12/2010, 18h47
  2. Réponses: 0
    Dernier message: 23/03/2010, 10h31
  3. Connaitre la class de l'@ réseau d'une InetAdress
    Par manu11 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 30/05/2009, 10h15
  4. Performance réseau des classes IO vs NIO
    Par Kher78 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 13/03/2009, 17h19
  5. Quelle classe STL pour un simple flux réseau ?
    Par mi6fred dans le forum SL & STL
    Réponses: 28
    Dernier message: 12/06/2006, 14h22

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