[Eric] Error at startup item "Generate Dialog Code ..."

Detlev Offenbach detlev at die-offenbachs.de
Sat Jun 20 14:29:58 BST 2009


On Samstag, 20. Juni 2009, Detlev Offenbach wrote:
> On Dienstag, 16. Juni 2009, Сергей Гринько wrote:
> > Offer amuse the problem this way:
> > The file ProjectFormsBrowser.py method __generateDialogCode class
> > ProjectFormsBrowser add a change to the current directory to open a file
> > - 'fn' -> os.chdir (os.path.dirname (os.path.abspath (fn)))
> >
> > import os
> > ...
> > class ProjectFormsBrowser (ProjectBaseBrowser):
> >      ...
> >      def __generateDialogCode (self):
> >          "
> >          Private method to generate dialog code for the form (Qt4 only)
> >          "
> >          itm = self.model (). item (self.currentIndex ())
> >          fn = unicode (itm.fileName ())
> >
> >          if self.hooks [ "generateDialogCode"] is not None:
> >              self.hooks [ "generateDialogCode"] (filename)
> >          else:
> >              from CreateDialogCodeDialog import CreateDialogCodeDialog
> >              # In 915 line add:
> >              # Change directory to local place for file "fn"
> >              os.chdir (os.path.dirname (os.path.abspath (fn)))
> >              dlg = CreateDialogCodeDialog (fn, self.project, self)
> >              if not dlg.initError ():
> >                  dlg.exec_ ()
> >
> > Following these changes, all is well.
>
> That fix works for your particular project setup. But what happens, if the
> custom widget is not below the directory of the file in question but
> somewhere else. In order to have it work more generally, we might have to
> introduce some conventions. Following is the proposal.
>
> 1. I'll include the os.chdir solution proposed by you. This allows the
> custom widgets to be placed somewhere below the directory of the dialog.
> 2. I'll add the project directory (project.ppath) to the PYTHONPATH
> environment variable. That makes custom widgets below the project directory
> available.
>
> And this defines the convention. Custom widgets must be accessible either
> from the project directory or below the dialog in question.
>
> Would this proposal be ok?

Just implemented it. It'll be part of the next release.

>
> > 12 июня 2009 г. 17:01 пользователь Detlev Offenbach <
> >
> > detlev at die-offenbachs.de> написал:
> > > Hi,
> > >
> > > the problem is, that project/UI is not in PYTHONPATH. This causes the
> > > import
> > > done by pyuic to fail. I've seen this lately over here as well but
> > > haven't found a fix yet. Any suggestions.
> > >
> > > Regards,
> > > Detlev
> > >
> > > On Mittwoch, 10. Juni 2009, Сергей Гринько wrote:
> > > > Structure folder/files:
> > > > project/
> > > >        UI/
> > > >          widgets/
> > > >               plugins/
> > > >                   QLineEditWErrState_plugin.py
> > > >                         __init__.py
> > > >               qlineeditwerrstate.py
> > > >        erredit.ui
> > > >        __init__.py
> > > >        Ui_erredit.py
>
> Regards,
> Detlev



-- 
Detlev Offenbach
detlev at die-offenbachs.de



More information about the Eric mailing list