Setting and getting "data" from PyQt widget items?

Viewed 8677

This is not so much a question as it is a request for an explanation. I'm following Mark Summerfield's "Rapid GUI Programming with Python and Qt", and I must've missed something because I cannot make sense of the following mechanism to link together a real "instance_item" which I am using and is full of various types of data, and a "widget_item" which represents it in a QTreeWidget model for convenience.

Setting:

widget_item.setData(0, Qt.UserRole, QVariant(long(id(instance_item))))

Getting

widget_item.data(0, Qt.UserRole).toLongLong()[0]

Stuff like toLongLong() doesn't seem "Pythonic" at all, and why are we invoking Qt.UserRole and QVariant? are the "setData" and "data" functions part of the Qt framework or is it a more general Python command?

2 Answers
Related