[PyKDE] Using KParts

Patrick Stinson listuser at www.patrickkidd.com
Wed Dec 15 10:30:44 GMT 2004


> On Thursday 09 December 2004 10:26 pm, Patrick Stinson wrote:
> > kparts.createReadWritePart('kwritepart') # can't remember the exact
> > syntax
>
> This has worked for me in the past:
>
> from kio import KTrader
> from kparts import createReadOnlyPart, createReadWritePart
>
> def buildPart(parent, query, contraint, writable=False):
>     """ builds the first available offered part on the parent
>
>     """
>     offers = KTrader.self().query(query, contraint)
>     try:
>         ptr = offers[0]
>     except (IndexError, TypeError, ), te:
>         return
>     if writable:
>         builder = createReadWritePart
>     else:
>         builder = createReadOnlyPart
>     return builder(ptr.library(), parent, ptr.name())
>
> Then later, it's used like so:
>
>     query = "Type == 'Service' and Name == 'Embedded Advanced Text Editor'"
>     part = buildPart(self, 'application/x-python', query, True)
>     if not part:
>         print 'Ack!  No part available for displaying python source'
>
> Hope this helps.


I get a null string for the library and 'Konqueror', or someother seemingly valid return for from the offers, and therefore a None return from createReadOnlyPart. ideas?

Thanks


More information about the PyQt mailing list