Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.8.0 - Qt Creator : 4.3.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Utilisation basique des "resources" Qt

En français ressources.

Une ressource peut être considérée comme un système de fichiers virtuel auquel l'application a accès en lecture seule. Elle peut contenir n'importe quel type de fichier dont votre appli a besoin pour fonctionner, comme l'image d'un bouton, un fichier de traduction, un QSplash... Le nombre de fichiers dans une ressource ne semble pas limité.
Une ressource est décrite dans un fichier de suffixe .qrc. Lors de la compilation, Qt (en fait qmake + rcc) intégrera la ressource dans le code de l'exécutable.

Ce système de fichiers particulier est accédé par QFile de façon très simple, en le préfixant par ":/", par exemple
bouton->setIcon (QIcon (":/images/belleIcone.png");
qui remplace avantageusement
bouton->setIcon (QIcon (chemin complet de belleIcone.png, qui peut être différent dans différents OS);
Dans le cas d'une QUrl, le préfixe est "qrc:/".

Mise en œuvre d'une ressource :

1/ ne mettez pas tous les fichiers que vous destinez à introduire dans la ressource dans le répertoire du projet. Usez et abusez des sous répertoires. Exemple
Répertoire du projet : monAppl
Créez des sous-répertoires monAppli/images, monAppli/traductions, monAppli/dictionnaires, etC...

2/ créer la ressource :
Qt Creator > Menu > Nouveau fichier ou projet > Fichiers et classes > Qt > Fichier de ressources Qt
Qt crée une ressource vierge.
Puis faites Ajouter > add prefix
remplacer "/new/prefix1" par "/", de façon à reproduire la même hiérarchie de répertoires dans le ressource que dans votre dossier projet

3/ Pour peupler la resssource, faites
Ajouter > add files
et sélectionnez le / les fichiers que vous voulez en vous promenant dans vos sous-répertoires.

cela vous donnera quelque chose ressemblant à
image

4/ utilisation de cette ressource :
Quand j'ai besoin de l'icône "document-open.svg", je code
QIcon (":/images/document-open.svg")
(dans les versions récentes de Qt Creator, un clic droit sur une des entrées de la ressource permet de copier son chemin dans le presse-papier).

NB : comme dit dans le titre, mon utilisation des ressources Qt est basique. Se reporter à la doc pour une utilisation avancée.
En revanche si vous avez des questions sur ce qui vient d'être dit, des demandes d'éclaircissement de tel ou tel point, allez-y. :)

Réponses

  • PapaJaac said:
    En français ressources.

    Une ressource peut être considérée comme un système de fichiers virtuel auquel l'application a accès en lecture seule. Elle peut contenir n'importe quel type de fichier dont votre appli a besoin pour fonctionner, comme l'image d'un bouton, un fichier de traduction, un QSplash... Le nombre de fichiers dans une ressource ne semble pas limité.
    Une ressource est décrite dans un fichier de suffixe .qrc. Lors de la compilation, Qt (en fait qmake + rcc) intégrera la ressource dans le code de l'exécutable.
    ...

    NB : comme dit dans le titre, mon utilisation des ressources Qt est basique. Se reporter à la doc pour une utilisation avancée.
    Bonjour PapaJaac,

    J'essaie (désespérément :( ) d'utiliser les ressources pour ajouter à l'exécutable compilé avec QtCreator, les infos apparaissant normalement lorsque l'on fait un clic droit sur le fichier et "Propriétés"...

    J'ai testé avec un fichier .rc ajouté au projet, mais si la compilation se déroule sans problème (cf section Programmation générale, "Ajout des infos propriétés à l'executable...") ça ne donne pas le résultat escompté!

    Sais-tu s'il existe une méthode similaire avec la resource .qrc? (je ne trouve rien de satisfaisant avec Google :( )
  • Attends, on ne va pas papoter ici, je vais voir ton fil.
Connectez-vous ou Inscrivez-vous pour répondre.