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

Сергей Гринько sergey.grinko at gmail.com
Mon Jun 22 09:11:41 BST 2009


My practice: the general location of the libraries in the project in
one of the subdirectories.
However, the code uses relative paths.
Proposals (1) and (2) - it was good.

Waiting for the new release, thanks!

>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 ...> написал:
>> > > 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 ...

--
Sergey Grinko
Email: sergey.grinko at gmail.com



More information about the Eric mailing list