Здравствуйте. Интересует следующее..
Модель для списка ListView можно создать так:
ListModel {
id: myModel
ListElement {
name: "Item 1"
textColor: "red"
}
ListElement {
name: "Item 2"
textColor: "green"
}
ListElement {
name: "Item 3"
textColor: "blue"
}
ListElement {
name: "Item 4"
textColor: "yellow"
}
}
Можно вот так:
class DataObject : public QObject
{
public:
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(QString textColor READ textColor WRITE setTextColor NOTIFY textColorChanged)
public:
DataObject(QString name, QString textColor);
DataObject(QObject* parent=0);
~DataObject();
...
};
void someFunct()
{
QList<QObject*> dataList;
dataList.append(new DataObject("Item 1", "red"));
dataList.append(new DataObject("Item 2", "green"));
dataList.append(new DataObject("Item 3", "blue"));
dataList.append(new DataObject("Item 4", "yellow"));
QDeclarativeContext *ctxt = g_viewer->rootContext();
ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
}
А хочется создать "копию" следующего кода, только в C++ варианте:
ListModel {
id: fruitModel
ListElement {
name: "Apple"
cost: 2.45
attributes: [
ListElement { description: "Core" },
ListElement { description: "Deciduous" }
]
}
ListElement {
name: "Orange"
cost: 3.25
attributes: [
ListElement { description: "Citrus" }
]
}
ListElement {
name: "Banana"
cost: 1.95
attributes: [
ListElement { description: "Tropical" },
ListElement { description: "Seedless" }
]
}
}
Именно, что бы можно было в DataObject указывать attributes. Подскажите пожалуйста, заранее спасибо.