On Sunday 30 May 2004 12:43 pm, Karl wrote: > Hi! > > Approx. 2 years ago, me and some collegues created a program in university > using Python and Qt 2. It worked then, now I want to try to port it to Qt 3 > and then finish/improve it. > > I found some very strange behaviour and would ask, whether anyone knows > what is wrong? > > Problem description: > I have a Canvas, on this Canvas, I put some Items. > To do this, I created a class that is called "ClassItem" (the program is a > case tool, ClassItem represents a class) that inherits QCanvasRectangle and > a Class called Item that has some logical stuff about my items. > > This is a short excerpt from the constructor of ClassItem: > >class ClassItem (QCanvasRectangle, Item): > > def __init__(self, guiManager, clsId): > > Item.__init__(self, guiManager, CLASSTYPE, clsId, 1) > > QCanvasRectangle.__init__(self, self.canvas) > > Now, when I create my ClassItems, they should be added to the Canvas just > when the constructor calls QCanvasRectangle.__init__(...), right? > But somehow, not all these Items are added to the canvas as *ClassItem*, > but e.g. as QCanvasPolygon. > > Excerpt from my debug output: > >.adding class > >..class created: <ClassItem.ClassItem object at 0x00912FC0> > >..items now on Canvas: [<ClassItem.ClassItem object at 0x00912FC0>] > >.adding class > >..class created: <ClassItem.ClassItem object at 0x00917030> > >..items now on Canvas: [<ClassItem.ClassItem object at 0x00917030>, > > <ClassItem.ClassItem object at 0x00912FC0>] > > >.adding class > >..class created: <ClassItem.ClassItem object at 0x009170C0> > >..items now on Canvas: [<ClassItem.ClassItem object at 0x00917030>, > > <__main__.qtcanvas.QCanvasPolygon object at 0x009170F0>, > <ClassItem.ClassItem object at 0x00912FC0>] > > As you can see, the third ClassItem is in fact created as ClassItem, but it > is added to the Canvas as QCanvasPolygon. > I don't see any difference between these items and don't understand, why > the program behaves this way... > In the following, the QCanvas.collisions()-method results this > QCanvasPolygon, on which I cannot call the methods, that are specific for > ClassItem, therefore, there is no difference for me, if this ClassItem is > present or not, I cannot work with it... > > Can anyone help, please?
Can you put together a small, but complete, script that demonstrates the problem. What versions of SIP, PyQt and Qt are you using? Phil _______________________________________________ PyKDE mailing list [EMAIL PROTECTED] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
