[PySide] SOLVED: Correction: TypeError setting multiple inheritance instance as QWidget parent

Owen Kelly owensother at sympatico.ca
Wed Oct 10 20:40:08 CEST 2012

Hi all,

I think I have found the solution. My model code did *not* raise an error,
but my actual code did. I haven't fixed it yet, but I just discovered that
in my actual code

	Foo is subclassed from Pyside.QtGui.QTabWidget

	Bar is subclassed from PyQt4.QtGui.QDialog

Given that the model code works, the problem is almost certainly that
PyQt4.QtGui.QDialog.__init__ will not accept a parent of type
Pyside.QWidget.  No surprise!

The moral of the story is not to mix PySide and PyQt.

Thanks Aaron.



-----Original Message-----
From: pyside-bounces+oekelly=ieee.org at qt-project.org
[mailto:pyside-bounces+oekelly=ieee.org at qt-project.org] On Behalf Of Aaron
Sent: October-10-12 2:22 PM
To: pyside at qt-project.org
Subject: Re: [PySide] Correction: TypeError setting multiple inheritance
instance as QWidget parent

Hello Owen!

The following code works great on my machine... It is basically your code
with a main block to test it. Please try to execute it and if it is
successful, try to find the difference with your non-working version. I
guess, the difference will be in the main block?!?

Have a nice evening!

########### Code ############

import sys
from PySide import QtGui

class Node(object):

class Foo(QtGui.QTabWidget, Node):

     def __init__(self):
         super(Foo, self).__init__(parent=None)
         Node.__init__(self, 'Node name is Disp')
         self.bar = Bar(self)

class Bar(QtGui.QDialog):

     def __init__(self, parent_widget):
         super(Bar, self).__init__(parent=parent_widget)

if __name__ == "__main__":
     app = QtGui.QApplication(sys.argv)
     w = Foo()
PySide mailing list
PySide at qt-project.org

More information about the PySide mailing list