12-03-2012 06:11 PM
Has anyone been successful in using an ArrayDataModel with their ListViews? In particular I need to store a QObject-derived object for each ListItem. I have this working with GroupDataModel, but ArrayDataModel is proving problematic.
ArrayDataModel *model = new ArrayDataModel();
QObject *myobj = .... pointer to my object ....
QVariant var = QVariant::fromValue<void *>((void *)myobj);
model->append(var);
My ListView appears to have items in it, but they are all blank. I've also tried deriving my own class from ArrayDataModel, overriding the itemType() member and returning "item" - to ensure that the itemtype matches up with what I have defined for my ListView, but the entries in the list are always blank.
12-04-2012 03:20 AM
12-04-2012 05:22 PM
I switched to using QListDataModel and managed to get this working:
class UnsortedDataModel : public QListDataModel<QObject *>
{
Q_OBJECT
public:
UnsortedDataModel() : QListDataModel()
{
}
~UnsortedDataModel()
{
}
QString itemType(const QVariantList &indexPath)
{
return "item";
}
};