Python: RuntimeError: super-class __init __ () de% S nunca se llamó

Traté de hacer alguna operación (setParent) en un objeto en Python (una instancia de una clase que hereda de una clase diferente, para ser específica,QtGui.QLabel), pero durante el tiempo de ejecución se levantó el error anterior. El objeto en sí ha tenido algunos campos con contenido real (verificado en la depuración), pero por alguna razón no pude "usarlo". ¿Qué significa el error y cómo puedo solucionarlo? Para obtener información adicional, debo decir que el objeto se devolvió desde un método estático antes de intentar realizar esta operación en él.

La subclase tiene una__init__() función propia:

def __init__(self, image, father):
        super(AtomicFactory.Image, self).__init__(father)
        self.raw_attributes = image.attributes
        self.attributes = {}
        father.addChild(self)
        self.update()

Ahora escribí un código similar, uno simple, que tenía el mismo error en la líneawidget.setParent(mw) cuando la ventana fue movida

#!/usr/bin/env python
import sys
import copy
from PyQt4 import QtCore, QtGui

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    main_widget=QtGui.QWidget()
    widget = QtGui.QPushButton('Test')
    widget.resize(640, 480)
    widget.setParent(main_widget)
    widget.move(0, 0)
    widget2=QtGui.QPushButton('Test2')
    widget2.i=0
    widget2.resize(600, 200)
    widget2.setParent(main_widget)
    widget2.move(640, 0)
    def onResize(event):
        print event
        mw=copy.deepcopy(main_widget)
        widget.setParent(mw)
        widget2.setParent(mw)
        widget.move(0, 0)
        widget2.move(640, 480)
        main_widget_width=main_widget.width()
        widget_width=widget.width()
        width2=main_widget_width-widget_width
        height2=widget2.height()
        widget2.resize(width2, height2)
        widget2.move(640, 0)
    main_widget.resizeEvent=onResize
    def onClick():
        size=(widget2.width(), widget2.height())
        if(widget2.i%2==0):
            widget2.resize(int(size[0]/2), int(size[1]/2))
        else:
            widget2.resize(size[0]*2, size[1]*2)
        widget2.i+=1
    QtCore.QObject.connect(widget, QtCore.SIGNAL('clicked()'), onClick)
    main_widget.show()
    sys.exit(app.exec_())

¿Cual fue el problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta