[PyKDE] porting qtdemo example
Phil Thompson
phil at riverbankcomputing.co.uk
Mon Jan 16 10:08:03 GMT 2006
On Sunday 15 January 2006 12:24 am, Andreas Pakulat wrote:
> Hi,
>
> I'm currently porting the qtdemo example, so far the code has no or
> (hopefully) only little obvious errors. The whole drawing-stuff does not
> yet work but I have to work my way through the different classes to get
> that fixed.
That's great - thanks.
> However, there are some things I'd like to discuss here, as the version
> that is running now only shows the Qt4 examples (i.e. the C++ versions).
>
> qtdemo reads 2 xml files, one for the demos, one for the examples
> containing all important information (categories, example names,
> example directory name) and checks wether the examples can be found. The
> first question that arises here: Is there a way in PyQt4 to get the path
> were the examples lie around, other than using qtdemo's path and going
> up 2 directories? Phil are there any plans to "install" the examples,
> like into $PYTHONDIR/share/PyQt4/examples?
I think it's best if we keep everything relative to the qtdemo directory, then
it doesn't matter where they reside - so long as they are kept together.
Let's say there will be a "Examples and Demos" directory (specific name is
unimportant) containing the current examples directory, a possible future
demos directory and a qtdemo directory. You can assume that the qtdemo
directory will be current when qtdemo is executed (or there might be a sanity
check you can do and display an error message if this isn't the case).
Therefore the "location" of the foo/bar example will be ../examples/foo/bar.
> Next question is: Will the demos get ported? Until now I can only see
> work is done on the examples dir, but I think the demos are also GPL and
> can thus also be ported.
Assume they will be at some point.
> The next "problem" is documentation and images. The qtdemo shows the
> information from the Qt docs about the examples/demos including
> screenshots when they're available. As far as I can see PyQt4 doesn't
> provide any documentation and PyQt3 also didn't, so I guess I should
> just use the (hopefully already installed) Qt documentation?
There will be documentation - but you might as well go with the Qt docs for
the moment.
> And the last thing is: Execution of the examples/demos. The C++ qtdemo
> just looks for a executable file in
>
> <category>/<example>
>
> which of course doesn't work with PyQt4. One problem here is, that some
> examples do have their own directory, while others don't. I think the
> best way to approach this is to extend the existing xml files and add an
> executableScript and a hasDir-flag attribute. Any better ideas?
I've followed a very strict convention which will allow you to do the
following to find the main Python file. For an example "foo/bar"...
if ../examples/foo/bar.py exists
cd ../examples/foo
run bar.py
else if ../examples/foo/bar/bar.py exists
cd ../examples/foo/bar
run bar.py
else
missing example
Phil
More information about the PyQt
mailing list