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 :

Afficher une image distante


Sujet :

Qt

  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 Afficher une image distante
    Bonjour à tous,

    Voila je cherche à afficher une image jpg se trouvant sur le web, j'ai à peu prés réussi en utilisant un rendu web grâce au module webkit mais je trouve le chargement trop long.
    Et en utilisant un QNetworkAccessManager je n'arrive pas à obtenir le moindre affichage.

    Comment faire?

    Merci d'avance pour votre aide!

  2. #2
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 594
    Points
    188 594
    Par défaut
    Salut et bienvenue sur ce forum.

    Citation Envoyé par protocole Voir le message
    Et en utilisant un QNetworkAccessManager je n'arrive pas à obtenir le moindre affichage.
    Peux-tu nous montrer ton code ? On ne pourra pas t'aider si tu ne nous montres pas ce qui ne fonctionne pas.

    Concernant le gestionnaire d'accès : le téléchargement de fichiers. Tu récupéreras un dérivé de QIODevice, un QNetworkReply. Ensuite, tu crées un QImage, puis tu charges le contenu de la réponse grâce à la fonction load() de QImage.

    http://qt.developpez.com/doc/4.5/qimage/
    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 !

  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
    Voila mon code :

    void Flux::replyFinished(QNetworkReply* r)
    {
    /* Récuperation d'un XML et construction du QUrl url_pochette */

    QUrl *url_pochette = new QUrl;
    url_pochette->setScheme("http");
    url_pochette->setHost("host.net");
    url_pochette->setPath("/pochette/image.jpg");

    r->deleteLater();

    QObject::connect(http, SIGNAL(finished(QNetworkReply*)), this, SLOT(load_pochette(QNetworkReply*)));
    QNetworkRequest request(*url_pochette);
    http->get(request);
    }

    void Flux::load_pochette(QNetworkReply* r)
    {
    QImage img;
    if (img.load(r, "JPG"))
    {
    p->image_pochette->hide();
    p->image_pochette->setPixmap(QPixmap::fromImage(img));
    p->image_pochette->show();
    }
    else
    cout << "Impossible de charger l'image" << endl;
    }
    En gros j'ai une première requête qui récupère un fichier XML contenant le nom de l'image, dans le slot replyFinished je construit l'url de l'image, jusque là pas de soucis.
    Grâce à cette url je construit une nouvelle requête pour récupéré l'image en elle même.
    Dans load_pochette, p est un pointeur vers une autre classe et image_pochette un QLabel en attribut public.
    Pour information j'utilise le même QNetworkAccessManager ("http") pour les 2 requêtes.
    J'ai également vu que Qt gère par défaut uniquement les png, mais même avec un .png prit au hasard sur le web ça ne fonctionne pas.

    En attendant une nouvelle réponse je vais regarder les liens que tu m'a donné, merci.

    Edit : Il m'affiche "impossible de charger l'image" à priori la réponse est "vide"

Discussions similaires

  1. [WD10] Champ image - afficher une image distante
    Par mnssylvain dans le forum WinDev
    Réponses: 3
    Dernier message: 23/12/2009, 08h40
  2. [Image] Afficher une image depuis serveur distant
    Par grinder59 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/05/2006, 09h45
  3. Charger et afficher une image jpg avec les mfc
    Par glop - pas glop dans le forum MFC
    Réponses: 3
    Dernier message: 11/02/2004, 18h59
  4. Réponses: 2
    Dernier message: 04/02/2004, 22h32
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

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