Storing pointers using QListWidgetItem::setData

I have a QListWidget of calendars. Each QListWidgetItem is logically associated with an instance of Calendar, which is a class that belongs to the Model side of the application.

Can I store this association in the form of a pointer using QListWidgetItem::setData? When I attempt to do this, I get the following error:

error: 'QVariant::QVariant(void*)' is private


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.

I would suggest looking at this solution as well, which I think is quite elegant: (there are minor syntax errors, but you will spot them quickly or the compiler will issue an error)

Need Your Help

How to output some log to console when developing flex application?

flash apache-flex debugging logging

I'm new to flex, and trying to write some demo applications. Now I have a very newbie question: How to output some log to console(or somewhere else I can see) in a flex application?

NSDate - Convert Date to GMT

ios objective-c swift nsdate gmt

I need the ability to convert an NSDate value to a GMT Date.