web-dev-qa-db-fra.com

Importer un fichier de ressources dans du code PyQt?

J'ai vu un documentaire sur Qt et beaucoup de questions moins similaires à celle-ci, mais je n'ai toujours pas compris comment je peux le faire.

Je ne suis pas tout à fait sûr de savoir comment puis-je importer un fichier de ressources dans du code Python. Pixmap apparaît donc sans aucun problème.


J'ai tous les fichiers dans le même répertoire, j'ai créé qrc. fichier et compilé avec: rcc -binary resources.qrc -o res.rcc pour créer un fichier de ressources.

J'ai importé res_rcc mais pixmap sur label n'était toujours pas affiché:

import res_rcc


C'est ce que j'avais dans mon Qrc. fichier:

<RCC>
  <qresource prefix="newPrefix">
    <file>download.jpeg</file>
  </qresource>
</RCC>

Question:

Comment puis-je importer des fichiers de ressources dans le code PyQt? | Si les pixmaps se trouvent dans le même répertoire que les fichiers de ressources .qrc, dois-je toujours spécifier le chemin complet?

8
ShellRox

Pour pyqt, vous devez utiliser pyrcc4, c’est l’équivalent de rcc pour python.

pyrcc4 -o resources.py resources.qrc

Cela génère le module resources.py qui doit être importé dans le code python afin de rendre les ressources disponibles.

import resources

Pour utiliser la ressource dans votre code, vous devez utiliser le préfixe ": /":

Exemple

from PyQt4.QtCore import *
from PyQt4.QtGui import *

import resources

pixmap = QPixamp(":/newPrefix/download.jpeg")

Voir Le système de ressources PyQt4 et Le système de ressources Qt

12
Fabio

Dans PyQt5, nous devrions écrire en ligne de commande

pyrcc5 -o resources.py resource/resources.qrc

En effet, nous devons générer un fichier resource.py à importer dans le code. Maintenant on peut taper

import resources

dans notre code python 

3
ralfontez