Python Objects and QVariant
===========================

Qt uses the ``QVariant`` class as a wrapper for any C++ data type.  PyQt allows
any Python object to be wrapped as a ``QVariant`` and passed around Qt's
meta-object system like any other type.

PyQt will try to convert the Python object to a C++ equivalent if it can so
that the ``QVariant`` can be passed to other C++ code that doesn't know what a
Python object is.

Version 2 of PyQt's ``QVariant`` API will automatically convert a ``QVariant``
back to a Python object of the correct type.

Version 1 of the ``QVariant`` API provides the ``QVariant.toPyObject()`` method
to convert the ``QVariant`` back to a Python object of the correct type.

Both versions will raise a Python exception if the conversion cannot be done.
