Storing pointers using QListWidgetItem::setData
There is another constructor for void*: QVariant::QVariant(int typeOrUserType, const void * copy)
where you should pass an unique integer to represent the pointer type.
But as stated by the documentation, you could declare your pointer type with Q_DECLARE_METATYPE(Calendar*)
and use QVariant::fromValue<Calendar*>(...)
and QVariant::value<Calendar*>()
to store and retrieve the value.
Or instead, because you are using a QListWidget
instead of a regular model, you can just subclass QListWidgetItem
, and add a Calendar*
member variable with the required accessors, to avoid the overhead of using QVariant
.