PyQt leaves C-code in python modules

Phil Thompson phil at riverbankcomputing.co.uk
Tue Nov 4 20:15:52 CET 2003


On Tuesday 04 November 2003 6:45 pm, Dave wrote:
> I'm having a strange problem with the pyqt-tools in the latest Debian
> packages.  When I run
> $ pyuic colortool.ui > colortool.py
> Extracting init()
> Extracting loadSettings()
> Extracting saveSettings()
> ...
> it produces 'colortool.py' with python function headers, but the body of
> the functions are still in C.  There are no error messages, just the normal
> log of "extracting" functions.
>
>
> The file colortool.ui is the tutorial example from the Qt Designer manual,
> and it works correctly when compiled in C.  The versions on all the
> relevant packages seem to be correct:
>
> -> pyuic is from package pyqt-tools 3.8-2.1   This package depends on:
> libc6 (>= 2.3.2-1), libgcc1 (>= 1:3.3.1-1), libqt3c102-mt (>= 3:3.2.1),
> libstdc++5 (>= 1:3.3.1-1), xlibs (>> 4.1.0)
> -> Current versions shown by dpkg are:
> libc6 2.3.2-9, libgcc1 1:3.3.2-1, libqt3c102-mt 3:3.2.1-6, libstdc++5
> 1:3.3.2-1, xlibs 4.2.1-12.1
> -> designer is from package qt3-designer 3:3.2.1-6
>
>
> $ pyuic -version
> Python User Interface Compiler 3.8 for Qt version 3.2.1
>
>
> I have used Python and Qt in Redhat 9, after great effort to correct
> mismatched versions in their packaging.  That is the only reason I
> suspected packaging problems here, but so far I've had much better
> experience with Debian's packages.
>
>
>
> This is very frustrating.  I've committed to a project using Qt and Python,
> and I'm totally dependent on pyuic.  Any suggestions would be much
> appreciated.

That's because the form includes embedded C++ code. There is nothing to stop 
you embedding Python code (just ignore the C++ style function definition) and 
it will be properly extracted.

What pyuic doesn't do is look at the embedded code and try to work out if it 
is Python or something else.

Phil






More information about the Python-list mailing list