from PyQt5.QtCore import QObject, pyqtSlot, pyqtSignal

class ContainerProxy(QObject):
    def __init__(self, container, parent = None):
        super().__init__(parent)

        self._container = container

    @pyqtSlot(str, result = "QVariant")
    def getValue(self, value):
        return self._container.get(value, None)

    @pyqtSlot(str, "QVariant")
    def setValue(self, key, value):
        self._container[key] = value

    @pyqtSlot(result = int)
    def getCount(self):
        return len(self._container)

@@ -49,16 +49,483 @@
 Signal%0A%0A
+# This class wraps a Python container and provides access to its elements%0A#%0A# It is primarily intended as a reasonably fast wrapper around containers%0A# that need to be updated and need to notify QML of their changes.%0A#%0A# To use it, define a property that returns a QObject with a notify signal.%0A# From the property getter, return an instance of this object. Whenever the%0A# contents of the container change, simply emit the notify signal, do not%0A# recreate the proxy.%0A
 class Co

Add some documentation to ContainerProxy