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 Quick Discussion :

L'objet image ne charge pas les images


Sujet :

Qt Quick

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 218
    Points : 55
    Points
    55
    Par défaut L'objet image ne charge pas les images
    Bonjour,
    Je cherche à importer des images dans une application QML mais je tombe toujours sur l'erreur: "QML Image: Cannot open: qrc:/images/monimage.png". Je me suis dit que ça devait venir du path mais je ne vois vraiment pas quoi changer. J'ai essayé de mettre mon dossier "images" dans tous les dossiers du projet => ça marche pas. J'ai tenté de rajouter qrc:/ devant => ça marche pas. Comment fait-on pour charger des images en QML??? Où faut-il mettre le dossier?

    Cordialement

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonsoir,

    Le préfixe "qrc:/" devant images sous-entend en fait que les images doivent être ajoutées au ressources. Dans Qt Creator, vous avez dans la vue de projet un élément Resources, contenant par défaut qml.qrc. Avec un clic droit, ajouter, vous pouvez sélectionner vos images de votre dossier image pour les intégrer dans l'application, et ainsi permettre à vos images de se charger correctement.

    Bonne soirée,
    Louis
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 218
    Points : 55
    Points
    55
    Par défaut
    Merci! Effectivement comme ça, ça marche. Je risquais pas de trouver ^^". Petite question subsidiaire: Les images apparaissent maintenant dans mon projet à côté des fichiers .qml. En imaginant que j'ai beaucoup d'images, ça doit devenir pas possible de s'y retrouver non? Et comment ça se fait qu'il ne charge pas les fichiers image comme les composants, c'est-à-dire juste en indiquant le path et il sait où les retrouver?

  4. #4
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

    Ce que vous pouvez faire pour éviter que ce soit trop le bazar, je vous conseille de créer un nouveau fichier de ressources nommé par exemple images.qrc, contenant un préfixe "/" comme qml.qrc, dans lequel vous pouvez positionner toutes vos images. L'avantage est que cela permet de distinguer les images des fichiers QML et que ça ne recompile pas les images à chaque fois sous la forme de .o, ce qui accélère grandement la compilation.

    En fait, QML travaille en relatif. Par défaut, le QML est présent dans les ressources, comme indiqué par le préfixe "qrc:/" :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:///main.qml")));

    Si vous aviez fait :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QQmlApplicationEngine engine;
    engine.load(QUrl(qApp->applicationDirPath() + "/qml/main.qml"));

    Le QML serait chargé depuis "/chemin/vers/application/qml/main.qml", et non depuis les ressources. De là, vu que QML travaille en relatif, un composant Image ayant pour source "images/test.png" sera cherché dans "/chemin/vers/application/qml/images/test.png". Avec le premier code, il sera cherché dans "qrc:///images/test.png", d'où la nécessité d'intégrer les images au ressources dans ce cas. La même règle s'appliquerait aussi si vous souhaitiez charger vos fichier QML depuis un site Web les diffusant (engine.load(QUrl("http://www.example.com/main.qml")) mènerait cette image à être cherchée dans http://www.example.com/images/test.png - il me semble que cela a pour appellation la network transparency).

    Bonne journée à vous,
    Louis
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/11/2007, 00h36
  2. [PhpMailer] Thunderbird n'affiche pas les images encodées
    Par sami_c dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/06/2007, 13h17
  3. [Tcl/Tk] Mon interface n'affiche pas les images
    Par randazar dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 21/11/2006, 16h48
  4. Word n'affiche pas les images de mon état
    Par maxdwarf dans le forum Access
    Réponses: 2
    Dernier message: 07/06/2006, 13h36
  5. Réponses: 1
    Dernier message: 04/12/2005, 18h02

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