[PyQt] KProcess setUsePty not there...

Jim Bublitz jbublitz at nwinternet.com
Thu Apr 3 17:16:07 BST 2008


On Wednesday 02 April 2008 08:00, Wilbert Berendsen wrote:
> Hi,
>
> I want to run a program that insists on reading from a terminal using
> KProcess (from within PyKDE), but it seems KProcess::setUsePty() does not
> exist:
>
> Python 2.5.1 (r251:54863, Mar 26 2008, 22:37:08)
> [GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>
> >>> from kdecore import *
> >>> p=KProcess()
> >>> p.setUsePty(3,False)

It's an error in not providing a #define for a conditional in the h file when 
generating PyKDE.

You can fix it in sip/kdecore/kprocess.sip by changing this (near line 193):

%If ( KDE_3_2_0 - KDE_3_4_0 )
    void                 setUsePty (KProcess::Communication, bool);
    KPty*                pty () const;
%End

to this:

%If ( KDE_3_2_0 -   )
    void                 setUsePty (KProcess::Communication, bool);
    KPty*                pty () const;
%End

and then rebuild with

python configure.py -lkdecore && make && su -c"make install"

Jim


More information about the PyQt mailing list