Re: loadUiType and resources_rc.py in another folder

Denis Rouzaud <[email protected]>
Newsgroups gmane.comp.python.pyqt-pykde
Message-ID <CAMtsY+Zn+Ect36b9JkhVN0_snWHYaBBsdBbHfkQoUw9aOJYZzQ@mail.gmail.com>
Hi Ludovic,

I am not modifying the built resources_rc.py but the import one I am using
in the same directory than the dialog file.
This resources_rc.py only contains the import statement, I have
successfully used this when using pyuic in the past, but it doesn't seem to
work when using loadUiType.

More generally, I am wondering what is the approach when the
resources_rc.py, the ui and the dialog py files are all 3 in
distinct directories.

Cheers,
Denis

Le ven. 17 janv. 2020 à 15:34, Ludovic Bellière <
[email protected]> a écrit :

> Hello Denis,
>
> The resources_rc.py is supposed to be generated with pyrcc5, and
> shouldn't be edited. The structure of your application is weird, and
> apparently the loader is unable to find your resources_rc.py, which
> means you didn't put it where it needs to be. I don't know where it
> needs to be, it depends on the structure of your code, and files within
> your project.
>
> Do you know how python imports works? You see confused on that subject.
> Did you consider building a test PyQt5 app using a flat format, and then
> expand from there?
>
> Cheers,
> Ludovic
>
> PS: sorry about the previous direct e-mail. Still figuring ML stuff out.
>
> On 17/01/20 14:58, Denis Rouzaud wrote:
> > Hi Ludovic,
> >
> > Thanks for the help.
> >
> > I tried to add this in my resources_rc.py in the same path than the
> > dialog py file without success.
> > I also tried in the __init__.py
> >
> > Where is it meant to live?
> >
> > Cheers,
> > Denis
> >
> > Le ven. 17 janv. 2020 à 14:27, Ludovic Bellière
> > <[email protected] <mailto:[email protected]>> a
> > écrit :
> >
> >     Hello Denis,
> >
> >     The compiled resources_rc.py has a bit of code that will inject the
> >     different resources into Qt's database at the time of import. To
> achieve
> >     that, you need to do the import this way:
> >
> >     `from .. import resources_rc`
> >
> >     On 16/01/20 11:29, Denis Rouzaud wrote:
> >     > Hi list,
> >     >
> >     > I have this tree structure:
> >     > - gui
> >     >   |- dialog.py
> >     > - ui
> >     >   |- dialog.ui
> >     > - resources_rc.py
> >     >
> >     > I am trying to use uic.loadUiType with the ui file having a
> resources
> >     > file defined integrated with:
> >     >
> >     > <iconset resource="../resources.qrc">
> >     >
> >
>   <normaloff>:/plugins/qfieldsync/visibility.svg</normaloff>:/plugins/qfieldsync/visibility.svg</iconset>
> >     > </property>
> >     >
> >     >
> >     >
> >     > I have this error:
> >     >
> >     >   File "/Users/denis/Library/Application
> >     >
> >
>  Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/gui/project_configuration_dialog.py",
> >     > line 36, in
> >     >     os.path.join(os.path.dirname(__file__),
> >     > '../ui/project_configuration_dialog.ui'),
> >     >   File
> >     >
> >
>  "/Applications/QGIS3.11.app/Contents/MacOS/../Resources/python/qgis/PyQt/uic/__init__.py",
> >     > line 36, in __loadUiType
> >     >     return __PyQtLoadUiType(*args, **kwargs)
> >     >   File
> >     >
> >
>  "/Applications/QGIS3.11.app/Contents/MacOS/../Resources/python/PyQt5/uic/__init__.py",
> >     > line 201, in loadUiType
> >     >     exec(code_string.getvalue(), ui_globals)
> >     >   File "", line 182, in
> >     >   File
> >     >
> >
>  "/Applications/QGIS3.11.app/Contents/MacOS/../Resources/python/qgis/utils.py",
> >     > line 737, in _import
> >     >     mod = _builtin_import(name, globals, locals, fromlist, level)
> >     > ModuleNotFoundError: No module named 'resources_rc'
> >     >
> >     >
> >     >
> >     >
> >     > I tried to add a resources_rc.py in the gui folder with:
> >     >
> >     > from ..resources_rc import *
> >     >
> >     > but this doesn't help.
> >     >
> >     >
> >     > And if I use the option from_imports=True (in loadUiType), I am
> >     getting:
> >     >
> >     > line 37, in
> >     >     from_imports=True
> >     >   File
> >     >
> >
>  "/Applications/QGIS3.11.app/Contents/MacOS/../Resources/python/qgis/PyQt/uic/__init__.py",
> >     > line 36, in __loadUiType
> >     >     return __PyQtLoadUiType(*args, **kwargs)
> >     >   File
> >     >
> >
>  "/Applications/QGIS3.11.app/Contents/MacOS/../Resources/python/PyQt5/uic/__init__.py",
> >     > line 201, in loadUiType
> >     >     exec(code_string.getvalue(), ui_globals)
> >     >   File "", line 182, in
> >     >   File
> >     >
> >
>  "/Applications/QGIS3.11.app/Contents/MacOS/../Resources/python/qgis/utils.py",
> >     > line 737, in _import
> >     >     mod = _builtin_import(name, globals, locals, fromlist, level)
> >     > KeyError: "'__name__' not in globals"
> >     >
> >     >
> >     >
> >     >
> >     >
> >     > How am I suppose to handle this?
> >     > Thanks,
> >     >
> >     > Denis
> >     >
> >     >
> >     > _______________________________________________
> >     > PyQt mailing list    [email protected]
> >     <mailto:[email protected]>
> >     > https://www.riverbankcomputing.com/mailman/listinfo/pyqt
> >     >
> >
>

_______________________________________________
PyQt mailing list    [email protected]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.