[PyQt] Problem using promoted widgets with PyQt 4.4.2
jan.ekholm at smultron.net
Thu Jul 31 08:15:34 BST 2008
On Thursday 31 July 2008 09:53:24 Jan Ekholm wrote:
> On Wednesday 30 July 2008 14:25:37 Jan Ekholm wrote:
> > On Wednesday 30 July 2008 13:47:55 Jan Ekholm wrote:
> > <snip>
> > I cut the window down to a minimal example that for me does not work. The
> > files are all attached and the code is also inline below. I assume I do
> > something silly, but for the love of Darwin I can't figure it out.
> Ok, I did some checking and the module is actually loaded in:
> Simply printing the module and class it tries to load reveals for my normal
> working classes a pairs like this:
> image_browser ImageBrowser
> image_label ImageLabel
> image_info ImageInfo
> tags Tags
> But for my ill fated KeywordTree I see:
> PyKDE4.kdeui KeywordTree
> So somehow something assumes that my class should be in the PyKDE4.kdeui
> module instead of ./keyword_tree.py as it should be. I don't use any PyKDE4
> classes at all, this is a pure PyQt application and always has been.
> Does this somehow ring a bell to someone? I haven't yet tracked down why
> that class should be in PyKDE4.kdeui.
Seems that QObjectCreator.addCustomWidget
in /usr/lib/python2.5/site-packages/PyQt4/uic/objcreator.py manages to find a
class named KeywordTree in PyKDE4.kdeui. When that method is entered the data
is all fine and when done it's wrong, ie when entering:
widgetClass=KeywordTree baseClass=QTreeWidget module=keyword_tree
and when exiting:
widgetClass=KeywordTree baseClass=QTreeWidget module=PyKDE4.kdeui
I haven't yet found what actually imports and PyKDE4 classes and why, because
it sure ain't my code.
I'll try renaming my class to something totally different and see if PyQt then
loads the class properly.
Most gods find it hard to walk and think at the same time.
-- Terry Pratchett, Small Gods
More information about the PyQt