On Fri, 7 Dec 2012 16:06:28 -0800, David Cortesi <davecort...@gmail.com> wrote: > OK, I implement QListView.itemData() returning a python dict, > which then arrives at QListView.setItemData() as a QVariant > of length 1. The problem is, how to cast that qv back to a dict? > I have read > > http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qvariant.html > > and noted especially the .convert method, but qv.convert(dict) produces > the amusingly self-referential error, > > TypeError: QVariant.convert(Type): argument 1 has unexpected type 'type' > > dict(qv) doesn't do it. qv.toHash produces an empty dict. > qv.toMap produces a QMap with the original keys as QStrings and > the original data as QVariants. OK, but I'd rather have the python > dict -- is there a way to get it, or do I have to work with the QMap form?
If PyQt can convert the dict to a QVariantMap then it will do, and discard the original dict. It will only preserve the Python object if it can't do anything else with it. Phil _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt