[PyQt] Designer source

Hans-Peter Jansen hpj at urpla.net
Fri Mar 9 08:38:06 GMT 2012


Am Thursday 08 March 2012 23:08:09 schrieb Andreas Pakulat:
> On 08.03.12 19:42:39, Detlev Offenbach wrote:
> > Am Donnerstag, 8. März 2012, 09:49:41 schrieb Andreas Pakulat:
> > > On 08.03.12 09:35:51, Andreas Pakulat wrote:
> > > > On 07.03.12 16:14:18, JPolk wrote:
> > > > > ...'cause it would make it easier for me to merge Designer with
> > > > > Maya ;-)>
> > > >
> > > > Write Maya in C++ ;P
> > >
> > > Hmm, on a more serious note, you won't get around writing C++. AFAIK
> > > the public API of the QtDesigner library (and hence also the PyQt
> > > module) does not include the necessary functions to actually create a
> > > designer yourself. One needs to use one or two private headers from
> > > QtDesigner for the necessary functions. You could of course simply wrap
> > > that private API in a simple class and expose that via sip to Python
> > > and then do all the rest in Python.
> >
> > If somebody would do that and maintain it over time I would be the first
> > to use to integrate Designer into the eric IDE.
>
> Its not an easy task though, we had something somewhat-working for
> KDevelop4 in a plugin, but it did require some nasty hacks and
> workarounds the designer API. Its simply not really meant to be added to
> "arbitrary" IDE's, but mainly geared towards the designer standalone
> app.
>
> Note, I'm basing that information on Qt4.5/4.6, i.e. a point in time
> where QtCreator was still in its early stages. Maybe in more recent
> Qt versions this got improved to provide better integration for
> QtCreator.

My humble guess is: it's easier to create a module, that resembles the main 
designer functionality, than wrapping that biest, given, that a lot of the 
necessary hacks are done to work around the inflexibility of C++ for that 
purpose. Some deficits in the process of designing and modifying UIs with 
designer could be accounted to this fact, too. The price redoing it would be 
loosing the existing designer plug ins.

OTOH, done right, this would allow for user customizable UIs, e.g. Camelot 
could create standard database layouts, which are *easily* *adjustable* to 
everyones needs.

A well done PyQt property editor would be a great addition the project on its 
own.

Pete


More information about the PyQt mailing list