Solución:
Para pyqt, debe usar pyrcc4, que es el equivalente de rcc para python.
pyrcc4 -o resources.py resources.qrc
Esto genera el módulo resources.py que debe importarse en el código Python para que los recursos estén disponibles.
import resources
Para usar el recurso en su código, debe usar el prefijo “: /”:
Ejemplo
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import resources
pixmap = QPixamp(":/newPrefix/download.jpeg")
Consulte el sistema de recursos PyQt4 y el sistema de recursos Qt
En PyQt5, deberíamos escribir en la línea de comando
pyrcc5 -o resources.py resource/resources.qrc
Porque, necesitamos generar un resource.py para importar en el código. Ahora podemos escribir
import resources
en nuestro código python
Además de las maravillosas respuestas anteriores, si también desea tener la capacidad de configurar el ícono desde el propio QtCreator (en lugar de tener que decir setWindowIcon(QIcon('://images/app_icon.ico'))
línea en el código), haces esto:
pyrcc5 -o resources_rc.py resources.qrc
cd ui
pyuic5 -o dialog.py dialog.ui
(Tenga en cuenta que pyuic5
importa automáticamente resources_rc
y no resources
por alguna razón; de ahí el nuevo nombre especificado arriba)
Donde te has asegurado de que:
...
</tabstops>
<resources>
<include location="../resources.qrc"/>
</resources>
<connections>
...
aparece aproximadamente allí (entre tabstops
y connections
) en tus dialog.ui
expediente. Creo que para llegar allí automáticamente, puede crear un proyecto C ++ ficticio y agregar sus archivos .ui al proyecto ficticio, luego agregar un nuevo archivo de recursos Qt al proyecto. Cuando haya terminado, puede eliminar todo lo que deja los archivos .ui y el archivo .qrc. Si le sucede a copiar resources.qrc
a otro directorio, luego cerrando y volviendo a abrir el dialog.ui
file le preguntará dónde está la nueva ubicación.
Ahora puede configurar los recursos desde el Propiedad explorador en QtCreator: windowIcon > Choose Resource > (click on the root) > (your files should show up now) > (select app_icon.ico)
.
Acabo de marcar una nueva mainwindow.ui
, si abre el archivo en Editar texto modo en Qt Creator le muestra dónde el <resource />
stub es. Simplemente insértelo allí (usando algún otro programa). Por alguna razón, al abrir el archivo .ui recién creado en Notepad ++ no se mostraba.
Al cerrar y volver a abrir archivos, debe cerrar el archivo (no “Recargar”, no funciona) y abrirlo nuevamente. Entonces, la raíz del recurso en el cuadro de diálogo “Agregar imagen desde recursos” no estará vacía.