IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
FAQ Qt FAQ Qt Creator FAQ PyQt & PySide

FAQ Qt

FAQ QtConsultez toutes les FAQ

Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireModulesQt CoreRessources

Les ressources sont des fichiers que l'on peut insérer dans un exécutable. Ils seront disponibles depuis l'exécutable, sans devoir être distribués avec l'exécutable.

Il y a deux manières d'insérer les ressources : soit directement dans l'exécutable, soit dans un fichier de ressources binaire. Dans les deux cas, un fichier QRC doit être utilisé, et compilé avec RCC.

Voici un exemple de fichier QRC.

 
Sélectionnez
<!DOCTYPE RCC> <RCC version="1.0">
<qresource>
    <file>images/copy.png</file>
    <file>images/cut.png</file>
</qresource>
 </RCC>

Vous pouvez intégrer ces fichiers dans l'exécutable : il suffit d'indiquer, dans votre fichier de projet, le fichier de ressources, et qmake s'occupe, encore une fois, de tout.

 
Sélectionnez
RESOURCES = application.qrc

Vous pouvez facilement accéder aux fichiers mentionnés dans le QRC :

 
Sélectionnez
cutAct = new QAction(QIcon(":/images/cut.png"), tr("Cu&t"), this);

Cette méthode ne fonctionne pas toujours. Voici un exemple nécessitant d'utiliser une méthode alternative.

 
Sélectionnez
QString text = "<h1 style='background: url(qrc:/Images/Fond.png) repeat-x;'>Ceci est un titre !</h1>";
QWebView *navigator = new QWebView(this);
navigator->setHtml(text);

Vous pouvez aussi compiler le fichier de ressources pour avoir un fichier de ressources binaire.

 
Sélectionnez
rcc -binary myresource.qrc -o myresource.rcc

Avant de pouvoir utiliser le fichier créé dans votre application, il faudra l'enregistrer.

 
Sélectionnez
QResource::registerResource("/path/to/myresource.rcc");

Avec cette ligne, vous pourrez utiliser les ressources contenues dans le fichier binaire comme n'importe quelle ressource.

Les ressources peuvent être facilement localisées.

 
Sélectionnez
<qresource>
    <file>cut.jpg</file>
</qresource>
<qresource lang="fr">
    <file alias="cut.jpg">cut_fr.jpg</file>
</qresource>

Dans le cas où la langue utilisée est le français, les références à :/cut.jpg seront redirigées vers :/cut_fr.jpg.

Il n'est pas possible de modifier une ressource d'un programme pendant que ce dernier est en cours d'exécution. En effet, le système de ressources n'est pas prévu pour cela, seule la lecture est possible. Cette limitation est sensée, dans la mesure où un exécutable ne peut pas être modifié durant son exécution.

Mis à jour le 7 mai 2012  par Thibaut Cuvelier

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 - 2017 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.