#!/usr/bin/env python

from PyQt4 import QtCore, QtGui
import sys

do_connect = True
#depth = 13
depth = 12
#depth = 1

class SignalGenerator(QtCore.QObject):

    def __init__(self, level, state=0, parent=None):

        QtCore.QObject.__init__(self)

        self._left = None
        self._right = None
        self._state = state
        self._level = level

        if parent and do_connect:
            self.connect(parent,
                         QtCore.SIGNAL("some_signal"),
                         #QtCore.SIGNAL("destroyed()"),
                         self.handle_signal)
        
        if level != 0:
            self._left = SignalGenerator(level-1, 0, self)
            self._right = SignalGenerator(level-1, 1, self)

    def handle_signal(self):
        pass

class MyWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self._generator = SignalGenerator(depth)


app = QtGui.QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
