Este problema se debe a que uic
no funciona correctamente. No estoy seguro exactamente por qué, pero puedo mostrar los síntomas y una solución alternativa.
El .ui
archivo de complemento inicial tiene un resources
elemento vacío :
<resources/>
Cuando edita los recursos para el complemento en QtDesigner, esto cambia a:
<resources>
<include location="resources.qrc"/>
</resources>
Esta es la fuente del problema. Si cambia el archivo .qrc en esa etiqueta de inclusión,resourcesXXX.qrc
el error cambiará a No module named resourcesXXX_rc
.
Nota: lo siguiente se basa en una compilación de complementos con 'prueba' ingresada en todos los campos del generador de complementos QGIS.
En el archivo test_dialog.py , las siguientes líneas compilan el archivo .ui :
FORM_CLASS, _ = uic.loadUiType(os.path.join(
os.path.dirname(__file__), 'test_dialog_base.ui'))
Aquí es donde está ocurriendo el error.
Edite su .ui
archivo para volver a cambiar <resources/>
y el problema se resuelve. Hasta que edite su diálogo en QtDesigner nuevamente. Debe realizar esta edición en el .ui
archivo cada vez que edite su cuadro de diálogo.
La solución a esto es cambiar su complemento para que funcione como funcionaban las versiones anteriores del complemento. Esto implica reemplazar la llamada uic y las líneas de clase en el archivo _dialog.py . Reemplace estas líneas:
FORM_CLASS, _ = uic.loadUiType(os.path.join(
os.path.dirname(__file__), 'test_dialog_base.ui'))
class testDialog(QtGui.QDialog, FORM_CLASS):
con:
from test_dialog_base import Ui_testDialogBase
class testDialog(QDockWidget, Ui_testDialogBase):
Ahora tendrás que correr
pyuic4 -x test_dialog_base.ui > test_dialog_base.py
cuando cree su complemento por primera vez y cada vez que edite su diálogo de complemento con QtDesigner. Este era el antiguo método de complemento.
Si desea editar el .ui
archivo o ejecutar pyuic4
cada vez es su elección.
No module named resources_napoved_rc
ypyrcc4 -o resources_napoved_rc.py resources_napoved.qrc
o es un error de tipeo?